]> git.draconx.ca Git - cdecl99.git/blobdiff - src/output.c
libcdecl: Simplify cdecl__advance.
[cdecl99.git] / src / output.c
index 27921abb70b9bd6339cfc510af25dec46d826a5b..cf5e2ffa7ef076f062e78e04f1ce0a0f13057f32 100644 (file)
 
 #include "specstr.h"
 
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+
 size_t cdecl__advance(struct output_state *dst, size_t amount)
 {
-       if (amount >= dst->dstlen) {
-               dst->dstlen = 0;
-               dst->dst    = 0;
-       } else {
-               dst->dst    += amount;
-               dst->dstlen -= amount;
-       }
+       size_t x = MIN(amount, dst->dstlen);
+
+       dst->dst    += x;
+       dst->dstlen -= x;
 
        return amount;
 }