Here is a fix for the triger index fix, I didn't make a diff cause
of all the power hits I keep getting.. just to get this out.. so I can
turn off my machine.. All I did was mimic the zedit index save!
in DG_OLC.C:
near top add:
void trigedit_disp_menu(struct descriptor_data *d);
void trigedit_save(struct descriptor_data *d);
+ void trigedit_create_index(int znum, char *type);
/* copy an entire script from one holder (mob/obj/room) to another */
----------
at the end of "void trigedit_save(struct descriptor_data *d)"
add/change:
sprintf(buf, "%s/%d.trg", TRG_PREFIX, zone);
rename(fname, buf);
+ send_to_char("Saving Index file\r\n", d->character);
+ trigedit_create_index(zone, "trg");
}
--------------------
add this in right after the above:
void trigedit_create_index(int znum, char *type)
{
FILE *newfile, *oldfile;
char new_name[32], old_name[32], *prefix;
int num, found = FALSE;
prefix = TRG_PREFIX;
sprintf(old_name, "%s/index", prefix);
sprintf(new_name, "%s/newindex", prefix);
if (!(oldfile = fopen(old_name, "r"))) {
sprintf(buf, "SYSERR: DG_OLC: Failed to open %s", buf);
mudlog(buf, BRF, LVL_IMPL, TRUE);
return;
} else if (!(newfile = fopen(new_name, "w"))) {
sprintf(buf, "SYSERR: DG_OLC: Failed to open %s", buf);
mudlog(buf, BRF, LVL_IMPL, TRUE);
return;
}
/*
* Index contents must be in order: search through the old file for
the
* right place, insert the new file, then copy the rest over.
*/
sprintf(buf1, "%d.%s", znum, type);
while (get_line(oldfile, buf)) {
if (*buf == '$') {
fprintf(newfile, "%s\n$\n", (!found ? buf1 : ""));
break;
} else if (!found) {
sscanf(buf, "%d", &num);
if (num > znum) {
found = TRUE;
fprintf(newfile, "%s\n", buf1);
}
}
fprintf(newfile, "%s\n", buf);
}
fclose(newfile);
fclose(oldfile);
/*
* Out with the old, in with the new.
*/
remove(old_name);
rename(new_name, old_name);
}
+------------------------------------------------------------+
| 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