[Code] [Hedit] Problem saving helps

From: Jeremy Music (wyld@users.midsouth.net)
Date: 12/01/98


I am running into a problem with hedit (and I have gone back over the code
in the patch by hand and fixed any "obvious" problems).

Everything compiles without too many errors (none in the hedit/olc part of
the code) (Oasis 1.6b, Circle 3.14, many other mods).

I am terribly clueless when it comes to gdb, so figuring out a crash that
doesn't give me an error message is difficult.

This is where the crash almost has to happen:

>case HEDIT_CONFIRM_SAVESTRING:
>    switch (*arg) {
>    case 'y':
>    case 'Y':
>      hedit_save_internally(d);
>      sprintf(buf, "OLC: %s edits help for %s.", GET_NAME(d->character),
>              OLC_HELP(d)->keywords);
>      mudlog(buf, CMP, MAX(LVL_BUILDER, GET_INVIS_LEV(d->character)),
>             TRUE);
>      cleanup_olc(d, CLEANUP_STRUCTS);
>      send_to_char("Help entry saved to memory.\r\n", d->character);
>      break;

Because I get the "Do you wish to save this help entry internally?" but
never see "Help entry saved to memory" (instead I get a crash).

Are there any obvious problems with the above code?  Here is
"hedit_save_internally":

>void hedit_save_internally(struct descriptor_data *d)
>{
>  int i, rnum;
>  struct help_index_element *new_help_table;
>  rnum = OLC_ZNUM(d);
>  if (rnum > 0) {
>    free_help(help_table + rnum);
>    help_table[rnum] = *OLC_HELP(d);
>  } else {
>    CREATE(new_help_table, struct help_index_element, top_of_helpt + 2);
>    new_help_table[0] = *(OLC_HELP(d));
>    for (i = 0; i <= top_of_helpt; i++)
>      new_help_table[i + 1] = help_table[i];
>    free(help_table);
>    help_table = new_help_table;
>    top_of_helpt++;
>  }
>  olc_add_to_save_list(HEDIT_PERMISSION, OLC_SAVE_HELP);
>}


Any hints would be greatly appreciated...   hedit isn't much use without
being able to save  :)

rezo@lords.com


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST