]> git.sur5r.net Git - cc65/blobdiff - libsrc/common/sscanf.c
Added mouse module from C64
[cc65] / libsrc / common / sscanf.c
index f328328ad28e9e48baa9ded0571354f5068a3c49..fdbf440584e116341830b3dc117e60755fa075f3 100644 (file)
 
 
 
+static char get (struct indesc* d)
+/* Read a character from the input string and return it */
+{
+    char C;
+    if (C = d->buf[d->ridx]) {
+       /* Increment index only if end not reached */
+       ++d->ridx;
+    }
+    return C;
+}
+
+
+
 int sscanf (const char* str, const char* format, ...)
 /* Standard C function */
 {
@@ -28,8 +41,9 @@ int sscanf (const char* str, const char* format, ...)
     /* Initialize the indesc struct. We leave all fields uninitialized that we
      * don't need
      */
+    id.fin  = (infunc) get;
     id.buf  = (char*) str;
-    id.fill = strlen (str);
+    id.ridx = 0;
 
     /* Setup for variable arguments */
     va_start (ap, format);