vsscanf.c revision 50276
1/* 2 * This function is needed to support vwscanw 3 */ 4 5#include <curses.priv.h> 6 7#if !HAVE_VSSCANF 8 9MODULE_ID("$Id: vsscanf.c,v 1.10 1996/12/21 14:24:06 tom Exp $") 10 11#if defined(_IOREAD) && defined(_NFILE) 12/*VARARGS2*/ 13int vsscanf(const char *str, const char *format, va_list ap) 14{ 15 /* 16 * This code should work on anything descended from AT&T SVr1. 17 */ 18 FILE strbuf; 19 20 strbuf._flag = _IOREAD; 21 strbuf._ptr = strbuf._base = (unsigned char*)str; 22 strbuf._cnt = strlen(str); 23 strbuf._file = _NFILE; 24 25#if HAVE_VFSCANF 26 return(vfscanf(&strbuf, format, ap)); 27#else 28 return(_doscan(&strbuf, format, ap)); 29#endif 30} 31#else 32/*VARARGS2*/ 33int vsscanf(const char *str, const char *format, va_list ap) 34{ 35 /* 36 * You don't have a native vsscanf(3), and you don't have System-V 37 * compatible stdio internals. You're probably using a BSD 38 * older than 4.4 or a really old Linux. You lose. Upgrade 39 * to a current C library to win. 40 */ 41 return -1; /* not implemented */ 42} 43#endif 44#else 45extern void _nc_vsscanf(void); /* quiet's gcc warning */ 46void _nc_vsscanf(void) { } /* nonempty for strict ANSI compilers */ 47#endif /* !HAVE_VSSCANF */ 48