I also have this in my code but it only deletes one extra description at a time. I need a clear command to remove all the extra descriptions.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Valnir Sent: Thursday, January 22, 2004 7:22 PM To: [email protected] Subject: Re: Clearing extra descriptions Don't know if this will help, but here is how ours is done (using "delete" instead of clear) if ( !str_cmp( command, "delete" ) ) { EXTRA_DESCR_DATA *ped = NULL; if ( keyword[0] == '\0' ) { send_to_char( "Syntax: ed delete [keyword]\n\r", ch ); return FALSE; } for ( ed = pObj->extra_descr; ed; ed = ed->next ) { if ( is_name( keyword, ed->keyword ) ) break; ped = ed; } if ( !ed ) { send_to_char( "OEdit: Extra description keyword not found.\n\r", ch ); return FALSE; } if ( !ped ) pObj->extra_descr = ed->next; else ped->next = ed->next; free_extra_descr( ed ); send_to_char( "Extra description deleted.\n\r", ch ); return TRUE; } - Valnir ----- Original Message ----- From: "Hiddukel" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, January 22, 2004 7:16 PM Subject: Clearing extra descriptions I am seriously confused on this. What I am trying to do is clear all of the extra descriptions from an object. I can add any number of extra descriptions to an object but when I try to clear them using this code it always leaves the first one. I have seen this exact same method used in olc delete functions and I can't for the life of me figure out why it leaves the first one in the list. Btw, I also get output saying that it is clearing the first extra description even though it remains after the clear. Here is the code in question: if (!str_cmp(command, "clear")) { EXTRA_DESCR_DATA *ed_next = NULL; for (ed = pObj->extra_descr; ed; ed = ed_next) { ed_next = ed->next; ptc(ch, "Clearing exra description: %s\n\r", ed->keyword); free_extra_descr(ed); } return TRUE; } I will also post the free_extra_descr function even though I believe it is stock. void free_extra_descr(EXTRA_DESCR_DATA * ed) { if (!IS_VALID(ed)) return; free_string(ed->keyword); free_string(ed->description); INVALIDATE(ed); ed->next = extra_descr_free; extra_descr_free = ed; } If I am not mistaken clearing affects from objects would be done in a similar way also, if I am mistaken about that then I would like to know how that is done as well. I appreciate any and all help on this

