]> git.draconx.ca Git - cdecl99.git/blobdiff - src/explain.c
Make an explicit null declarator type.
[cdecl99.git] / src / explain.c
index 60e880b0586b2e4c7b47ca5d9f48d6b3ee07b5eb..b0e9a84fe9ddce6e08c7ee089d1ad069f6614e38 100644 (file)
@@ -164,11 +164,13 @@ static size_t
 explain_prologue(char *buf, size_t n, struct cdecl_declarator *d)
 {
        while (d) {
-               if (d->type == CDECL_DECL_IDENT) {
-                       if (!d->u.ident)
-                               return snprintf(buf, n, "type");
+               switch (d->type) {
+               case CDECL_DECL_NULL:
+                       return snprintf(buf, n, "type");
+               case CDECL_DECL_IDENT:
                        return snprintf(buf, n, "declare %s as", d->u.ident);
                }
+
                d = d->child;
        }
 }
@@ -211,7 +213,7 @@ explain_declarators(char *buf, size_t n, struct cdecl_declarator *d)
 {
        size_t ret = 0, rc;
 
-       if (d->type == CDECL_DECL_IDENT)
+       if (d->type == CDECL_DECL_IDENT || d->type == CDECL_DECL_NULL)
                return 0;
 
        rc = explain_declarators(buf, n, d->child);