it seems this function does not do anything at all. i've determined that it >does< get called, but after it is called, nothing is different. the call looks like this: sedit_add_to_int_list(&(S_PRODUCTS(OLC_SHOP(d))), i); everything seems right, passes the address of the int pointer "producing", i is the number to add. i wonder why it doesn't change anything. also, sedit_remove_from_int_list() seems to crash the program altogether...=( thank you. void sedit_add_to_int_list(int **list, int new_item) { int i, num_items, *nlist; /* * Count number of entries. */ for (i = 0; (*list)[i] != -1; i++); num_items = i; /* * Make a new list and slot in the new entry. */ CREATE(nlist, int, num_items + 2); for (i = 0; i < num_items; i++) nlist[i] = (*list)[i]; nlist[num_items] = new_item; nlist[num_items + 1] = -1; /* * Out with the old, in with the new. */ free(*list); *list = nlist; } +------------------------------------------------------------+ | 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