I have now tried to copy the code for storing a character when
storing an object for the purposes of restringing objects, but
problems have occured. Whenever someone saves, the MUD crashes.
The .core tells me nothing...
I will distribute my code so that any problems can be found.
---CODE---
struct obj_file_elem {
obj_num item_number;
char *name;
char *short_desc;
char *long_desc;
...
..
.
};
int Obj_to_store_from(struct obj_data * obj, FILE * fl, int locate)
{
int j;
struct obj_file_elem object;
object.item_number = GET_OBJ_VNUM(obj);
if (obj->name)
strcpy(object.name, obj->name);
else
*object.name = '\0';
if (obj->short_description)
strcpy(object.short_desc, obj->short_description);
else
*object.short_desc = '\0';
if (obj->description)
strcpy(object.long_desc, obj->description);
else
*object.long_desc = '\0';
...
..
.
}
struct obj_data *Obj_from_store_to(struct obj_file_elem object, int
*locate)
{
struct obj_data *obj;
int j;
if (real_object(object.item_number) > -1) {
obj = read_object(object.item_number, VIRTUAL);
*locate = (int) object.locate;
GET_OBJ_VAL(obj, 0) = object.value[0];
GET_OBJ_VAL(obj, 1) = object.value[1];
GET_OBJ_VAL(obj, 2) = object.value[2];
GET_OBJ_VAL(obj, 3) = object.value[3];
GET_OBJ_EXTRA(obj) = object.extra_flags;
GET_OBJ_WEIGHT(obj) = object.weight;
GET_OBJ_TIMER(obj) = object.timer;
GET_OBJ_LEVEL(obj) = object.level;
OBJ_SIZE(obj) = object.size;
obj->name = str_dup(object.name);
obj->short_description = str_dup(object.short_desc);
obj->description = str_dup(object.long_desc);
...
..
.
}
---END OF CODE---
What can be wrong?
Thanks on forehand!
()CHRISTOFFER:>......
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST