X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/56beb0d2b20edc2f0ac8716c020053f8a103577d..3e833eea9cb9822f04c639e143212c4b6f7940d4:/src/treefuncs.c?ds=sidebyside diff --git a/src/treefuncs.c b/src/treefuncs.c index c385bc8..ac2fd01 100644 --- a/src/treefuncs.c +++ b/src/treefuncs.c @@ -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;