X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/8c4c37ecd2f04402c23b18c2e0a25f7bcc5bdce3..9abf0eb2e74d0fb3a4f652499571cb35697d3036:/src/explain.c diff --git a/src/explain.c b/src/explain.c index 41d4f7b..0d9c957 100644 --- a/src/explain.c +++ b/src/explain.c @@ -1,6 +1,6 @@ /* * Render C declarations as English. - * Copyright © 2011 Nick Bowler + * Copyright © 2011, 2021 Nick Bowler * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,14 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + +#include #include #include #include +#include #include #include #include "cdecl.h" -#include "output.h" +#include "cdecl-internal.h" /* * Renders the start of the thing being declared. If top is true, print @@ -48,6 +51,8 @@ explain_prologue(char *buf, size_t n, struct cdecl_declarator *d, bool top) d = d->child; } + + assert(0); } static size_t @@ -55,7 +60,7 @@ explain_pointer(char *buf, size_t n, struct cdecl_pointer *p) { size_t ret = 0, rc; - rc = cdecl__explain_qualifiers(buf, n, p->qualifiers); + rc = cdecl__explain_specs(buf, n, p->qualifiers, CDECL_SPEC_QUAL); ret += cdecl__advance(&buf, &n, rc); return ret + snprintf(buf, n, "pointer to"); @@ -76,7 +81,7 @@ explain_array(char *buf, size_t n, struct cdecl_array *a) rc = snprintf(buf, n, "%s", a->vla); ret += cdecl__advance(&buf, &n, rc); } else if (a->length) { - rc = snprintf(buf, n, "%ju", a->length); + rc = snprintf(buf, n, "%" PRIuMAX, a->length); ret += cdecl__advance(&buf, &n, rc); }