home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / PPPBCKP / SRC / SRC15B99.ZIP / WATTSRC.ZIP / SOCK_PRN.C < prev    next >
Text File  |  1994-11-28  |  1KB  |  50 lines

  1. #include <copyright.h>
  2. #include <wattcp.h>
  3.  
  4. #include <stdio.h>
  5. #include <stdarg.h>
  6. #include <string.h>
  7.  
  8. /* socket based stuff */
  9.  
  10. static char buffer[ tcp_MaxBufSize ];
  11.  
  12. int sock_printf( sock_type *s, char *format, ... )
  13. {
  14.     va_list argptr;
  15.     int length;
  16.  
  17.     va_start( argptr, format );
  18.     vsprintf( buffer, format, argptr );
  19.     va_end( argptr );
  20.  
  21.     if ( (length = strlen( buffer )) > tcp_MaxBufSize ) {
  22.     outs("ERROR: tcp sock_Printf overrun\n\r");
  23.     return( 0 );
  24.     }
  25.     sock_puts( s, buffer );
  26.     return( length );
  27. }
  28.  
  29. /*
  30.  * sock_scanf - return number of fields returned
  31.  */
  32. int sock_scanf( sock_type *s, char *format, ... )
  33. {
  34.     va_list argptr;
  35.     char buffer[ tcp_MaxBufSize ];
  36.     int fields;
  37.     int status;
  38.  
  39.     fields = 0;
  40.     while (!( status = sock_dataready( s ))) {
  41.     if (status == -1) return( -1 );
  42.     if ( (fields = sock_gets( s, buffer, tcp_MaxBufSize )) != 0 ) {
  43.             va_start( argptr, format );
  44.         fields = vsscanf( buffer, format, argptr );
  45.         va_end( argptr );
  46.     }
  47.     }
  48.     return( fields );
  49. }
  50.