aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--obj.c11
-rw-r--r--obj.h1
2 files changed, 5 insertions, 7 deletions
diff --git a/obj.c b/obj.c
index b410e7c..f896214 100644
--- a/obj.c
+++ b/obj.c
@@ -87,15 +87,12 @@ addvert(OBJ *obj, OBJVertex v, int vtype)
static void
addelem(OBJObject *o, OBJElem *e)
{
- OBJElem *ep;
-
- if(o->child == nil){
- o->child = e;
+ if(o->lastone == nil){
+ o->lastone = o->child = e;
return;
}
- for(ep = o->child; ep->next != nil; ep = ep->next)
- ;
- ep->next = e;
+ o->lastone->next = e;
+ o->lastone = o->lastone->next;
}
static OBJElem *
diff --git a/obj.h b/obj.h
index dff7d6e..e758a78 100644
--- a/obj.h
+++ b/obj.h
@@ -80,6 +80,7 @@ struct OBJObject
{
char *name;
OBJElem *child;
+ OBJElem *lastone;
OBJObject *next;
};