]> granicus.if.org Git - graphviz/commitdiff
avoid use of a temporary buffer when constructing an error message
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 9 Aug 2020 18:57:31 +0000 (11:57 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 15 Aug 2020 16:32:09 +0000 (09:32 -0700)
agerr() supports printf-style arguments, so it was not necessary to manually
build the error string in a temporary buffer.

lib/cgraph/scan.l

index 37660455baa08bde8f56c4a6ede40276790f4c90..dee062982e2bbc6b26390123a1e4d04d0598b55f 100644 (file)
@@ -148,9 +148,6 @@ static int twoDots(void)
 static int chkNum(void) {
     unsigned char c = (unsigned char)yytext[yyleng-1];   /* last character */
     if ((!isdigit(c) && (c != '.')) || ((c == '.') && twoDots())) {  /* c is letter */
-       unsigned char xbuf[BUFSIZ];
-       char buf[BUFSIZ];
-       agxbuf  xb;
        char* fname;
 
        if (InputFile)
@@ -158,17 +155,9 @@ static int chkNum(void) {
        else
            fname = "input";
 
-       agxbinit(&xb, BUFSIZ, xbuf);
-
-       agxbput(&xb,"syntax ambiguity - badly delimited number '");
-       agxbput(&xb,yytext);
-       sprintf(buf,"' in line %d of ", line_num);
-       agxbput(&xb,buf);
-       agxbput(&xb,fname);
-       agxbput(&xb, " splits into two tokens\n");
-       agerr(AGWARN, "%s", agxbuse(&xb));
+       agerr(AGWARN, "syntax ambiguity - badly delimited number '%s' in line %d of "
+         "%s splits into two tokens\n", yytext, line_num, fname);
 
-       agxbfree(&xb);
        return 1;
     }
     else return 0;