GH528: "cipher -v" output is confusing.
[openssl.git] / doc / crypto / BIO_s_file.pod
index d449702bfffdd569643a79645e1935988c97271a..5adc5697933ad50c16c0eaed712c3c13bdb1b11e 100644 (file)
@@ -38,7 +38,7 @@ BIO_reset() attempts to change the file pointer to the start of file
 using fseek(stream, 0, 0).
 
 BIO_seek() sets the file pointer to position B<ofs> from start of file
-using lseek(stream, ofs, 0).
+using fseek(stream, ofs, 0).
 
 BIO_eof() calls feof().
 
@@ -76,6 +76,10 @@ normally be closed so the BIO_NOCLOSE flag should be set.
 Because the file BIO calls the underlying stdio functions any quirks
 in stdio behaviour will be mirrored by the corresponding BIO.
 
+On Windows BIO_new_files reserves for the filename argument to be
+UTF-8 encoded. In other words if you have to make it work in multi-
+lingual environment, encode file names in UTF-8.
+
 =head1 EXAMPLES
 
 File BIO "hello world":
@@ -105,7 +109,7 @@ Alternative technique:
  BIO *out;
  out = BIO_new(BIO_s_file());
  if(out == NULL) /* Error ... */
- if(!BIO_read_filename(out, "filename.txt")) /* Error ... */
+ if(!BIO_write_filename(out, "filename.txt")) /* Error ... */
  BIO_printf(out, "Hello World\n");
  BIO_free(out);
 
@@ -127,11 +131,18 @@ BIO_tell() returns the current file position.
 BIO_read_filename(), BIO_write_filename(),  BIO_append_filename() and
 BIO_rw_filename() return 1 for success or 0 for failure.
 
+=head1 BUGS
+
+BIO_reset() and BIO_seek() are implemented using fseek() on the underlying
+stream. The return value for fseek() is 0 for success or -1 if an error
+occurred this differs from other types of BIO which will typically return
+1 for success and a non positive value if an error occurred.
+
 =head1 SEE ALSO
 
-L<BIO_seek(3)|BIO_seek(3)>, L<BIO_tell(3)|BIO_tell(3)>,
-L<BIO_reset(3)|BIO_reset(3)>, L<BIO_flush(3)|BIO_flush(3)>,
-L<BIO_read(3)|BIO_read(3)>,
-L<BIO_write(3)|BIO_write(3)>, L<BIO_puts(3)|BIO_puts(3)>,
-L<BIO_gets(3)|BIO_gets(3)>, L<BIO_printf(3)|BIO_printf(3)>,
-L<BIO_set_close(3)|BIO_set_close(3)>, L<BIO_get_close(3)|BIO_get_close(3)>
+L<BIO_seek(3)>, L<BIO_tell(3)>,
+L<BIO_reset(3)>, L<BIO_flush(3)>,
+L<BIO_read(3)>,
+L<BIO_write(3)>, L<BIO_puts(3)>,
+L<BIO_gets(3)>, L<BIO_printf(3)>,
+L<BIO_set_close(3)>, L<BIO_get_close(3)>