オペランド長取得時のバグを修正
authorj8takagi <j8takagi@nifty.com>
Wed, 10 Feb 2010 14:25:30 +0000 (23:25 +0900)
committerj8takagi <j8takagi@nifty.com>
Wed, 10 Feb 2010 14:25:30 +0000 (23:25 +0900)
src/token.c

index 2757a7b..54ebf3f 100644 (file)
@@ -6,7 +6,7 @@ OPD *opdtok(const char *str)
 {
     OPD *opd = malloc(sizeof(OPD));
     char *p, *q, *sepp;
 {
     OPD *opd = malloc(sizeof(OPD));
     char *p, *q, *sepp;
-    int sepc = ',', len = 0;
+    int sepc = ',', len;
     bool quoting = false;
 
     opd->opdc = 0;
     bool quoting = false;
 
     opd->opdc = 0;
@@ -15,6 +15,7 @@ OPD *opdtok(const char *str)
     }
     p = q = strdup(str);
     do {
     }
     p = q = strdup(str);
     do {
+        len = 0;
         /* オペランド数が多すぎる場合はエラー */
         if(opd->opdc >= OPDSIZE) {
             setcerr(117, str);    /* operand is too many */
         /* オペランド数が多すぎる場合はエラー */
         if(opd->opdc >= OPDSIZE) {
             setcerr(117, str);    /* operand is too many */