----- Original Message -----
From: "Kras Kresh" <kras_kresh@HOTMAIL.COM>
Sent: Friday, April 13, 2001 3:03 PM
> if I wanted to change the object description but not the prototype..
> should I be freeing it first?
> ex:
> free(obj->description);
> obj->description = str_dup("A dagger lies here.");
A quick glance at my version of read_object() shows that it is doing a
shallow copy of the prototype object, so you would not want to free that
particular pointer since it is being used by all other objects of that type.
Since extract_obj() does not free that pointer you will have to free it
manually when you destroy your object, or you will have to point it to a
constant string instead of a dynamically allocated string, which looks like
it would work for you:
static char *desc = "A dagger lies here.";
...
obj->description = desc;
It is safest to make "desc" static, although it may not be necessary,
depending on your compiler settings.
Mike
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/05/01 PST