head 1.3; access; symbols pkgsrc-2019Q2:1.2.0.54 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.52 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.50 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.48 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.46 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.44 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.42 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.40 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.36 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.34 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.32 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.30 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.28 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.26 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.24 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.22 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.20 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.18 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.16 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.14 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.12 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.10 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.8 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.6 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.4 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.2 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.1.0.44 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.42 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.40 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.38 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.36 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.34 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.32 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.30 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.28 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.26 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.24 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.22 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.20 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.18 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.16 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.14 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.12 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.10 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.8 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.6 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.4 pkgsrc-2008Q1:1.1.0.2 pkgsrc-2008Q1-base:1.1; locks; strict; comment @# @; 1.3 date 2019.07.06.22.53.24; author nia; state dead; branches; next 1.2; commitid zmYDhD4FUpesl2uB; 1.2 date 2013.03.28.21.25.52; author joerg; state Exp; branches; next 1.1; 1.1 date 2008.01.23.04.59.36; author tnn; state Exp; branches; next ; desc @@ 1.3 log @quakeforge: Update to 0.7.2 Drop most of the local patches. Quake is now playable, however, the server still segfaults on launch on NetBSD. @ text @$NetBSD: patch-al,v 1.2 2013/03/28 21:25:52 joerg Exp $ --- libs/gib/gib_classes.c.orig 2003-11-29 02:01:31.000000000 +0000 +++ libs/gib/gib_classes.c @@@@ -184,26 +184,32 @@@@ Object_Class_New_f (gib_object_t *obj, g return 0; } +struct child_data { + const char **reply; + unsigned i; +}; + +static qboolean +iterator (void *data_, gib_class_t *class, void *unused) +{ + struct child_data *data = data_; + data->reply[data->i++] = class->name; + return false; +} + static int Object_Class_Children_f (gib_object_t *obj, gib_method_t *method, void *data, gib_object_t *sender, gib_message_t mesg) { - const char **reply; + struct child_data cb_data; unsigned int size; - unsigned int i = 0; - - static qboolean - iterator (gib_class_t *class, void *unused) - { - reply[i++] = class->name; - return false; - } - + size = llist_size (obj->class->children); if (size) { - reply = malloc (sizeof (char *) * size); - llist_iterate (obj->class->children, LLIST_ICAST (iterator)); - GIB_Reply (obj, mesg, size, reply); + cb_data.reply = malloc (sizeof (char *) * size); + cb_data.i = 0; + llist_iterate (obj->class->children, iterator, &cb_data); + GIB_Reply (obj, mesg, size, cb_data.reply); } else GIB_Reply (obj, mesg, 0, NULL); return 0; @@@@ -600,6 +606,12 @@@@ Scrobj_Method_f (gib_object_t *obj, gib_ return 0; } +static void +mtabfree (void *mtab, void *unused) +{ + free (mtab); +} + void GIB_Classes_Build_Scripted (const char *name, const char *parentname, gib_tree_t *tree, gib_script_t *script) @@@@ -610,21 +622,6 @@@@ GIB_Classes_Build_Scripted (const char * gib_classdesc_t desc; enum {CLASS, INSTANCE} mode = INSTANCE; - static void - mtabfree (void *mtab, void *unused) - { - free (mtab); - } - - static const char * - fname (const char *str) - { - if (mode == INSTANCE) - return va ("__%s_%s__", name, str); - else - return va ("%s::%s", name, str); - } - methods = llist_new (mtabfree, NULL, NULL); cmethods = llist_new (mtabfree, NULL, NULL); @@@@ -640,6 +637,7 @@@@ GIB_Classes_Build_Scripted (const char * if (!strcmp (line->children->str, "function")) { gib_tree_t *cur, *last; + char *fname; gib_methodtab_t *new = malloc (sizeof (gib_methodtab_t)); Scrobj_method_t *data = malloc (sizeof @@@@ -648,9 +646,13 @@@@ GIB_Classes_Build_Scripted (const char * line->children->next->next; last->next; last = last->next); + + if (mode == INSTANCE) + fname = va("__%s_%s__", name, line->children->next->str); + else + fname = va("%s::%s", name, line->children->next->str); data->func = GIB_Function_Define - (fname - (line->children->next->str), + (fname, last->str, last->children, script, NULL); @ 1.2 log @Fix inline use. Do not use nested functions. @ text @d1 1 a1 1 $NetBSD: patch-al,v 1.1 2008/01/23 04:59:36 tnn Exp $ @ 1.1 log @Apply patches from PR pkg/37837 to get quakeforge going on DragonFly. Also fixes the usual gcc4 suspects. (static/extern storage class mismatch) @ text @d1 1 a1 1 $NetBSD$ d5 23 a27 1 @@@@ -192,7 +192,7 @@@@ Object_Class_Children_f (gib_object_t *o d29 2 a30 2 unsigned int i = 0; d32 33 a64 5 + qboolean iterator (gib_class_t *class, void *unused) { reply[i++] = class->name; @@@@ -610,13 +610,13 @@@@ GIB_Classes_Build_Scripted (const char * d69 16 a84 5 + void mtabfree (void *mtab, void *unused) { free (mtab); } d86 24 a109 5 - static const char * + const char * fname (const char *str) { if (mode == INSTANCE) @