]> git.draconx.ca Git - cdecl99.git/commitdiff
Don't call cdecl_free internally.
authorNick Bowler <nbowler@draconx.ca>
Tue, 4 Oct 2011 01:24:49 +0000 (21:24 -0400)
committerNick Bowler <nbowler@draconx.ca>
Sun, 23 Oct 2011 00:20:58 +0000 (20:20 -0400)
Use an exported wrapper function to avoid a local PLT entry in the
shared object.

src/parse-decl.c
src/parse.y

index 0d26b9d9dbdf07ed00719cb1d66916c4a6e4f326..e5395b4bcb9f93c45a23af091e82d65343f1ad8b 100644 (file)
@@ -430,7 +430,7 @@ struct cdecl *cdecl_parse_decl(const char *declstr)
 
        return decl;
 err:
-       cdecl_free(decl);
+       cdecl__free(decl);
        return NULL;
 }
 
@@ -469,6 +469,11 @@ struct cdecl *cdecl_parse_english(const char *english)
 
        return decl;
 err:
-       cdecl_free(decl);
+       cdecl__free(decl);
        return NULL;
 }
+
+void cdecl_free(struct cdecl *decl)
+{
+       cdecl__free(decl);
+}
index 5bcd9a947c6e587e44fc4d403ab319798b3be41d..3f021290ee32e207ef600d1de74ec5ef6b025d49 100644 (file)
@@ -57,6 +57,7 @@
 }
 
 %code provides {
+void cdecl__free(struct cdecl *);
 void cdecl__yyerror(YYLTYPE *, void *, struct cdecl **, const char *);
 int cdecl__yyparse(void *scanner, struct cdecl **out);
 }
@@ -132,7 +133,7 @@ static void free_decl(struct cdecl *x)
        }
 }
 
-void cdecl_free(struct cdecl *decl)
+void cdecl__free(struct cdecl *decl)
 {
        free_decl(decl);
 }