X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=internals%2F_PDCLIB_int.h;h=9019f72b4993b6d83db7f0f14a062148c8bca559;hb=5bcc00c1b85feff1996e3f34a1a9ebf3b624161e;hp=02e122eb3ada87dfa4f09e2a21712370a72bcadb;hpb=393020b6e48719d27699dea6b29e53025bbd5123;p=pdclib diff --git a/internals/_PDCLIB_int.h b/internals/_PDCLIB_int.h index 02e122e..9019f72 100644 --- a/internals/_PDCLIB_int.h +++ b/internals/_PDCLIB_int.h @@ -317,10 +317,12 @@ struct _PDCLIB_status_t { int base; /* base to which the value shall be converted */ _PDCLIB_int_fast32_t flags; /* flags and length modifiers */ - _PDCLIB_size_t n; /* maximum number of characters to be written */ + _PDCLIB_size_t n; /* print: maximum characters to be written */ + /* scan: number matched conversion specifiers */ _PDCLIB_size_t i; /* number of characters already written */ _PDCLIB_size_t this; /* output chars in the current conversion */ - char * s; /* target buffer */ + char * s; /* print: target buffer */ + /* scan: source string */ _PDCLIB_size_t width; /* width of current field */ _PDCLIB_size_t prec; /* precision of current field */ struct _PDCLIB_file_t * stream;/* for to-stream output */ @@ -345,12 +347,21 @@ extern char _PDCLIB_Xdigits[]; /* The worker for all printf() type of functions. The pointer spec should point to the introducing '%' of a conversion specifier. The status structure is to be that of the current printf() function, of which the members n, s, stream - and arg will be preserved, i will be updated, and all others will be trashed + and arg will be preserved; i will be updated; and all others will be trashed by the function. Returns a pointer to the first character not parsed as conversion specifier. */ const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status ); +/* The worker for all scanf() type of functions. The pointer spec should point + to the introducing '%' of a conversion specifier. The status structure is to + be that of the current scanf() function, of which the member stream will be + preserved, n, i, and s will be updated; and all others will be trashed by the + function. + Returns a pointer to the first character not parsed as conversion specifier. +*/ +const char * _PDCLIB_scan( const char * spec, struct _PDCLIB_status_t * status ); + /* Parsing any fopen() style filemode string into a number of flags. */ unsigned int _PDCLIB_filemode( const char * mode );