]> git.draconx.ca Git - gob-dx.git/blobdiff - src/treefuncs.c
Release 2.0.16
[gob-dx.git] / src / treefuncs.c
index c385bc83141ed5b6fa575ad7fa7ecca7e205b880..ac2fd0127c1223c906f17d236075f5e346064e38 100644 (file)
@@ -158,6 +158,8 @@ enum {
        QUARK_id_STEAL,
        QUARK_args,
        QUARK_args_STEAL,
+       QUARK_funcattrs,
+       QUARK_funcattrs_STEAL,
        QUARK_onerror,
        QUARK_onerror_STEAL,
        QUARK_defreturn,
@@ -266,6 +268,8 @@ ensure_quarks (void)
        g_hash_table_insert (quark_ht, "id:steal", GINT_TO_POINTER (QUARK_id_STEAL));
        g_hash_table_insert (quark_ht, "args", GINT_TO_POINTER (QUARK_args));
        g_hash_table_insert (quark_ht, "args:steal", GINT_TO_POINTER (QUARK_args_STEAL));
+       g_hash_table_insert (quark_ht, "funcattrs", GINT_TO_POINTER (QUARK_funcattrs));
+       g_hash_table_insert (quark_ht, "funcattrs:steal", GINT_TO_POINTER (QUARK_funcattrs_STEAL));
        g_hash_table_insert (quark_ht, "onerror", GINT_TO_POINTER (QUARK_onerror));
        g_hash_table_insert (quark_ht, "onerror:steal", GINT_TO_POINTER (QUARK_onerror_STEAL));
        g_hash_table_insert (quark_ht, "defreturn", GINT_TO_POINTER (QUARK_defreturn));
@@ -451,6 +455,7 @@ copy_method (Method * self)
        new->flags = g_list_copy (self->flags); COPY_LIST_VALS(new->flags, g_strdup);
        new->id = g_strdup (self->id);
        new->args = node_list_copy (self->args);
+       new->funcattrs = g_strdup (self->funcattrs);
        new->onerror = g_strdup (self->onerror);
        new->defreturn = g_strdup (self->defreturn);
        new->cbuf = g_strdup (self->cbuf);
@@ -640,6 +645,7 @@ free_method (Method * self)
        g_list_foreach (self->flags, (GFunc)g_free, NULL); g_list_free (self->flags);
        g_free (self->id);
        node_list_free (self->args);
+       g_free (self->funcattrs);
        g_free (self->onerror);
        g_free (self->defreturn);
        g_free (self->cbuf);
@@ -1301,6 +1307,18 @@ setv_method (Method * self, va_list __ap)
                        self->args = args;
                        break;
                }
+               case QUARK_funcattrs: {
+                       char * funcattrs = va_arg (__ap, char *);
+                       char * __old_value = self->funcattrs;
+                       self->funcattrs = g_strdup (funcattrs);
+                       g_free (__old_value);
+                       break;
+               }
+               case QUARK_funcattrs_STEAL: {
+                       char * funcattrs = va_arg (__ap, char *);
+                       self->funcattrs = funcattrs;
+                       break;
+               }
                case QUARK_onerror: {
                        char * onerror = va_arg (__ap, char *);
                        char * __old_value = self->onerror;