embryo: handle filename given to #line command
authorbilliob <billiob@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 12 Aug 2011 12:39:29 +0000 (12:39 +0000)
committerbilliob <billiob@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 12 Aug 2011 12:39:29 +0000 (12:39 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/embryo@62382 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/embryo_cc_sc2.c

index 0d33a53..c1094d6 100644 (file)
@@ -942,6 +942,22 @@ command(void)
             if (lex(&val, &str) != tNUMBER)
                error(8);       /* invalid/non-constant expression */
             fline = (int)val;
+
+            while (*lptr == ' ' && *lptr != '\0')
+               lptr++;                 /* skip whitespace */
+            if (*lptr == '"')
+               {
+                 char pathname[PATH_MAX];
+
+                 lptr = getstring(pathname, sizeof pathname);
+                 if (pathname[0] != '\0')
+                   {
+                      free(inpfname);
+                      inpfname = strdup(pathname);
+                      if (!inpfname)
+                         error(103);   /* insufficient memory */
+                   }           /* if */
+              }
          }                     /* if */
        check_empty(lptr);
        break;