]> granicus.if.org Git - yasm/commitdiff
Change val to be a string instead of an expr.
authorPeter Johnson <peter@tortall.net>
Mon, 19 Nov 2001 03:24:40 +0000 (03:24 -0000)
committerPeter Johnson <peter@tortall.net>
Mon, 19 Nov 2001 03:24:40 +0000 (03:24 -0000)
svn path=/trunk/yasm/; revision=342

libyasm/valparam.c
libyasm/valparam.h
src/valparam.c
src/valparam.h

index 5e2e82ba28e41b63693f30df4bb5823663e3f6e0..434b0b00a33b914f8a89fdfa9cf8c97a2ba3649d 100644 (file)
@@ -33,7 +33,8 @@ vps_delete(valparamhead *headp)
     cur = STAILQ_FIRST(headp);
     while (cur) {
        next = STAILQ_NEXT(cur, link);
-       expr_delete(cur->val);
+       if (cur->val)
+           xfree(cur->val);
        if (cur->param)
            expr_delete(cur->param);
        xfree(cur);
index 50ac7829debf7423e04c30740975ad0a322dd743..571ba144d76390cf873eb6715f1372a0d308037f 100644 (file)
 
 typedef struct valparam {
     /*@reldef@*/ STAILQ_ENTRY(valparam) link;
-    /*@owned@*/ expr *val;
+    /*@owned@*/ /*@null@*/ char *val;
     /*@owned@*/ /*@null@*/ expr *param;
 } valparam;
 typedef /*@reldef@*/ STAILQ_HEAD(valparamhead, valparam) valparamhead;
 
-void vp_new(/*@out@*/ valparam *r, /*@keep@*/ expr *v, /*@keep@*/ expr *p);
+void vp_new(/*@out@*/ valparam *r, /*@keep@*/ const char *v,
+           /*@keep@*/ expr *p);
 #define vp_new(r, v, p)                do {    \
        r = xmalloc(sizeof(valparam));  \
        r->val = v;                     \
@@ -45,6 +46,9 @@ void vps_append(valparamhead *headp, /*@keep@*/ valparam *vp);
            STAILQ_INSERT_TAIL(headp, vp, link);    \
     } while(0)
 
+/*@null@*/ /*@dependent@*/ valparam *vps_first(valparamhead *headp);
+#define vps_first(headp)           STAILQ_FIRST(headp)
+
 #define vps_foreach(iter, headp)    STAILQ_FOREACH(iter, headp, link)
 
 #endif
index 5e2e82ba28e41b63693f30df4bb5823663e3f6e0..434b0b00a33b914f8a89fdfa9cf8c97a2ba3649d 100644 (file)
@@ -33,7 +33,8 @@ vps_delete(valparamhead *headp)
     cur = STAILQ_FIRST(headp);
     while (cur) {
        next = STAILQ_NEXT(cur, link);
-       expr_delete(cur->val);
+       if (cur->val)
+           xfree(cur->val);
        if (cur->param)
            expr_delete(cur->param);
        xfree(cur);
index 50ac7829debf7423e04c30740975ad0a322dd743..571ba144d76390cf873eb6715f1372a0d308037f 100644 (file)
 
 typedef struct valparam {
     /*@reldef@*/ STAILQ_ENTRY(valparam) link;
-    /*@owned@*/ expr *val;
+    /*@owned@*/ /*@null@*/ char *val;
     /*@owned@*/ /*@null@*/ expr *param;
 } valparam;
 typedef /*@reldef@*/ STAILQ_HEAD(valparamhead, valparam) valparamhead;
 
-void vp_new(/*@out@*/ valparam *r, /*@keep@*/ expr *v, /*@keep@*/ expr *p);
+void vp_new(/*@out@*/ valparam *r, /*@keep@*/ const char *v,
+           /*@keep@*/ expr *p);
 #define vp_new(r, v, p)                do {    \
        r = xmalloc(sizeof(valparam));  \
        r->val = v;                     \
@@ -45,6 +46,9 @@ void vps_append(valparamhead *headp, /*@keep@*/ valparam *vp);
            STAILQ_INSERT_TAIL(headp, vp, link);    \
     } while(0)
 
+/*@null@*/ /*@dependent@*/ valparam *vps_first(valparamhead *headp);
+#define vps_first(headp)           STAILQ_FIRST(headp)
+
 #define vps_foreach(iter, headp)    STAILQ_FOREACH(iter, headp, link)
 
 #endif