* libc/stdio/stdio.tex: Add missing include.
* libc/stdio/vfprintf.c: Use expected node name.
* libc/stdio/vfscanf.c: Likewise.
* libc/stdio/sscanf.c: Likewise.
* libc/stdio/sprintf.c: Likewise.
* libc/stdio/siscanf.c: Likewise.
* libc/stdio/siprintf.c: Likewise.
* libc/stdio/fopencookie.c: Quote raw {}.
Reported by DJ Delorie.
+2007-07-18 Eric Blake <ebb9@byu.net>
+
+ Fix 'make info'.
+ * libc/stdio/stdio.tex: Add missing include.
+ * libc/stdio/vfprintf.c: Use expected node name.
+ * libc/stdio/vfscanf.c: Likewise.
+ * libc/stdio/sscanf.c: Likewise.
+ * libc/stdio/sprintf.c: Likewise.
+ * libc/stdio/siscanf.c: Likewise.
+ * libc/stdio/siprintf.c: Likewise.
+ * libc/stdio/fopencookie.c: Quote raw {}.
+ Reported by DJ Delorie.
+
2007-07-13 Eric Blake <ebb9@byu.net>
Fix fflush issues.
typedef int (*cookie_seek_function_t)(void *_cookie, off_t *_off,
int _whence);
typedef int (*cookie_close_function_t)(void *_cookie);
- typedef struct
- {
- cookie_read_function_t *read;
- cookie_write_function_t *write;
- cookie_seek_function_t *seek;
- cookie_close_function_t *close;
- } cookie_io_functions_t;
FILE *fopencookie(const void *<[cookie]>, const char *<[mode]>,
cookie_io_functions_t <[functions]>);
DESCRIPTION
<<fopencookie>> creates a <<FILE>> stream where I/O is performed using
-custom callbacks. The stream is opened with <[mode]> treated as in
-<<fopen>>. The callbacks <[functions.read]> and <[functions.write]>
-may only be NULL when <[mode]> does not require them.
+custom callbacks. The callbacks are registered via the structure:
+
+. typedef struct
+. {
+. cookie_read_function_t *read;
+. cookie_write_function_t *write;
+. cookie_seek_function_t *seek;
+. cookie_close_function_t *close;
+. } cookie_io_functions_t;
+
+The stream is opened with <[mode]> treated as in <<fopen>>. The
+callbacks <[functions.read]> and <[functions.write]> may only be NULL
+when <[mode]> does not require them.
<[functions.read]> should return -1 on failure, or else the number of
bytes read (0 on EOF). It is similar to <<read>>, except that
/*
FUNCTION
-<<iprintf>>, <<fiprintf>>, <<siprintf>>, <<sniprintf>>, <<asiprintf>>, <<asniprintf>>---format output (integer only)
+<<siprintf>>, <<fiprintf>>, <<iprintf>>, <<sniprintf>>, <<asiprintf>>, <<asniprintf>>---format output (integer only)
INDEX
fiprintf
/*
FUNCTION
-<<iscanf>>, <<fiscanf>>, <<siscanf>>---scan and format non-floating input
+<<siscanf>>, <<fiscanf>>, <<iscanf>>---scan and format non-floating input
INDEX
iscanf
/*
FUNCTION
-<<printf>>, <<fprintf>>, <<sprintf>>, <<snprintf>>, <<asprintf>>, <<asnprintf>>---format output
+<<sprintf>>, <<fprintf>>, <<printf>>, <<snprintf>>, <<asprintf>>, <<asnprintf>>---format output
INDEX
fprintf
/*
FUNCTION
-<<scanf>>, <<fscanf>>, <<sscanf>>---scan and format input
+<<sscanf>>, <<fscanf>>, <<scanf>>---scan and format input
INDEX
scanf
@page
@include stdio/ftell.def
+@page
+@include stdio/funopen.def
+
@page
@include stdio/fwrite.def
/*
FUNCTION
-<<vprintf>>, <<vfprintf>>, <<vsprintf>>, <<vsnprintf>>, <<vasprintf>>, <<vasnprintf>>---format argument list
+<<vfprintf>>, <<vprintf>>, <<vsprintf>>, <<vsnprintf>>, <<vasprintf>>, <<vasnprintf>>---format argument list
-INDEX
- vprintf
INDEX
vfprintf
+INDEX
+ vprintf
INDEX
vsprintf
INDEX
/*
FUNCTION
-<<vscanf>>, <<vfscanf>>, <<vsscanf>>---format argument list
+<<vfscanf>>, <<vscanf>>, <<vsscanf>>---format argument list
-INDEX
- vscanf
INDEX
vfscanf
+INDEX
+ vscanf
INDEX
vsscanf