mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
/**************************************************************************
|
|
*
|
|
* s s c a n f F u n c t i o n
|
|
* -----------------------------
|
|
* Copyright 1982 by Digital Research Inc. All rights reserved.
|
|
*
|
|
* "sscanf" scans the given string for items specified, and assigns
|
|
* them to user supplied variables (via pointers to these vars).
|
|
*
|
|
* Calling sequence:
|
|
* ret = sscanf(str,fmt,p1,p2,...)
|
|
* Where:
|
|
* ret = the number of items successfully matched & assigned
|
|
* EOF returned if encountered on input
|
|
* str -> a (null terminated) string to scan
|
|
* fmt -> a string specifying how to parse the input
|
|
* p1,p2,... -> where matched items get stored
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#include "stdio.h"
|
|
|
|
WORD sscanf(str,fmt,ptrs) /* CLEAR FUNCTION ***********/
|
|
BYTE *str;
|
|
BYTE *fmt;
|
|
BYTE *ptrs;
|
|
{
|
|
REG FILE *sp;
|
|
FILE spbuf;
|
|
BYTE locbuf[BUFSIZ]; /* set up a local buffer */
|
|
|
|
sp = &spbuf; /* set up a pseudo stream */
|
|
sp->_fd = -1;
|
|
sp->_flag = _IOREAD | _IOSTRI; /* readable string */
|
|
sp->_cnt = strlen(str) + 1; /* allow doscan to read NULL*/
|
|
strcpy(locbuf,str); /* copy to safe place */
|
|
sp->_base = sp->_ptr = locbuf;
|
|
return(_doscan(sp,fmt,&ptrs));
|