]> granicus.if.org Git - graphviz/commitdiff
Make error reporting the same as in libgraph
authorEmden Gansner <erg@research.att.com>
Fri, 27 Jan 2012 20:58:36 +0000 (15:58 -0500)
committerEmden Gansner <erg@research.att.com>
Fri, 27 Jan 2012 20:58:36 +0000 (15:58 -0500)
lib/cgraph/agerror.c

index ae4e7fbd3308538dab5d5cbbd7d323dd8f29725f..64d9db3cb2058a890fda0a1f3501a2625bf2e444 100644 (file)
@@ -17,7 +17,7 @@
 #define MAX(a,b)       ((a)>(b)?(a):(b))
 static agerrlevel_t agerrno;           /* Last error level */
 static agerrlevel_t agerrlevel = AGWARN;       /* Report errors >= agerrlevel */
-static int agerrcnt;
+static int agmaxerr;
 
 static long aglast;            /* Last message */
 static FILE *agerrout;         /* Message file */
@@ -107,9 +107,9 @@ static int agerr_va(agerrlevel_t level, const char *fmt, va_list args)
      */
     lvl = (level == AGPREV ? agerrno : (level == AGMAX) ? AGERR : level);
 
-    agerrcnt++;
     /* store this error level */
     agerrno = lvl;
+    agmaxerr = MAX(agmaxerr, agerrno);
 
     /* We report all messages whose level is bigger than the user set agerrlevel
      * Setting agerrlevel to AGMAX turns off immediate error reporting.
@@ -163,12 +163,12 @@ void agwarningf(const char *fmt, ...)
     agerr_va(AGWARN, fmt, args);
 }
 
-int agerrors() { return agerrcnt; }
+int agerrors() { return agmaxerr; }
 
 int agreseterrors() 
 { 
-    int rc = agerrcnt;
-    agerrcnt = 0;
+    int rc = agmaxerr;
+    agmaxerr = 0;
     return rc; 
 }