Improve error message detail for wdoor/mdoor/odoor invalid args (#178)

This commit is contained in:
Copilot
2026-04-23 22:52:52 +02:00
committed by GitHub
parent ac94839eb5
commit 87c75da59c
3 changed files with 51 additions and 15 deletions

View File

@@ -224,17 +224,27 @@ WCMD(do_wdoor)
}
if ((rm = get_room(target)) == NULL) {
wld_log(room, "wdoor: invalid target");
wld_log(room, "wdoor: invalid target (arg == %s)", target);
return;
}
if ((dir = search_block(direction, dirs, FALSE)) == -1) {
wld_log(room, "wdoor: invalid direction");
char dirs_str[256];
int di, doff = 0;
dirs_str[0] = '\0';
for (di = 0; *dirs[di] != '\n'; di++)
doff += snprintf(dirs_str + doff, sizeof(dirs_str) - doff, "%s%s", doff ? " " : "", dirs[di]);
wld_log(room, "wdoor: invalid direction (arg == %s) not found in: [ %s ]", direction, dirs_str);
return;
}
if ((fd = search_block(field, door_field, FALSE)) == -1) {
wld_log(room, "wdoor: invalid field");
char fields_str[256];
int fi, foff = 0;
fields_str[0] = '\0';
for (fi = 0; *door_field[fi] != '\n'; fi++)
foff += snprintf(fields_str + foff, sizeof(fields_str) - foff, "%s%s", foff ? " " : "", door_field[fi]);
wld_log(room, "wdoor: invalid field (arg == %s) not found in: [ %s ]", field, fields_str);
return;
}
@@ -281,8 +291,10 @@ WCMD(do_wdoor)
case 5: /* room */
if ((to_room = real_room(atoi(value))) != NOWHERE)
newexit->to_room = to_room;
else
wld_log(room, "wdoor: invalid door target");
else {
newexit->to_room = NOWHERE;
wld_log(room, "wdoor: invalid door target (arg == %s)", value);
}
break;
}
}