]> git.draconx.ca Git - cdecl99.git/blob - src/output.c
Move advance/advance_ into common code.
[cdecl99.git] / src / output.c
1 #include <stdio.h>
2 #include "output.h"
3
4 size_t cdecl__advance_(char **buf, size_t *n, size_t amount)
5 {
6         if (amount >= *n) {
7                 *n   = 0;
8                 *buf = 0;
9         } else {
10                 *buf += amount;
11                 *n   -= amount;
12         }
13
14         return amount;
15 }
16
17 size_t cdecl__advance(char **buf, size_t *n, size_t amount)
18 {
19         size_t ret, rc;
20
21         if (!amount)
22                 return 0;
23
24         ret = cdecl__advance_(buf, n, amount);
25         rc = snprintf(*buf, *n, " ");
26         return ret + cdecl__advance_(buf, n, rc);
27 }