]> granicus.if.org Git - graphviz/commitdiff
cgraph agxblen: de-duplicate some logic that was effectively 'agxblen'
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 10 Sep 2022 19:41:51 +0000 (12:41 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 21 Dec 2022 02:54:30 +0000 (18:54 -0800)
Gitlab: #2302

lib/cgraph/agxbuf.h

index e902ccbdaaef6679fc7ee62713e5b740d5a55d38..ae9e3531a118a46f8238c031f020674e0b90e789 100644 (file)
@@ -65,12 +65,13 @@ static inline size_t agxblen(const agxbuf *xb) {
  * Removes last character added, if any.
  */
 static inline int agxbpop(agxbuf *xb) {
-  int c;
-  if (xb->ptr > xb->buf) {
-    c = *xb->ptr--;
-    return c;
-  } else
+
+  if (agxblen(xb) == 0) {
     return -1;
+  }
+
+  int c = *xb->ptr--;
+  return c;
 }
 
 /* agxbmore:
@@ -86,7 +87,7 @@ static inline void agxbmore(agxbuf *xb, size_t ssz) {
   nsize = size == 0 ? BUFSIZ : (2 * size);
   if (size + ssz > nsize)
     nsize = size + ssz;
-  cnt = (size_t)(xb->ptr - xb->buf);
+  cnt = agxblen(xb);
   if (!xb->stack_allocated) {
     nbuf = (char *)gv_recalloc(xb->buf, size, nsize, sizeof(char));
   } else {