>
> In which case buf2 will still be empty and so a check for (!*buf2) will
> return true, just like you want.
Sorry. I read that incorrectly. I understand now. How's this:
ACMD(do_dig)
{
int iroom, rroom, dir, i;
struct room_data * temp_room;
two_arguments(argument, buf, buf2);
if (!*buf2)
{
send_to_char("Format: dig <dir> <room number>\r\n", ch);
return;
}
iroom = atoi(buf2);
rroom = real_room(iroom);
dir = search_block(buf, dirs, FALSE);
if(dir == -1)
{
send_to_char("That is not a direction.\r\n", ch);
return;
}
if(world[ch->in_room].dir_option[dir])
{
send_to_char("An exit already exists in that direction.\r\n", ch);
return;
}
if (rroom <= 0)
{
for(i = 0; i < top_of_zone_table; i++)
if(zone_table[i].number == (iroom/100))
break;
if(i == top_of_zone_table)
{
send_to_char("The zone does not exist.\r\n", ch);
return;
}
/* Create and init the room */
CREATE(temp_room, struct room_data, 1);
temp_room->name = str_dup("An unfinished room");
temp_room->description = str_dup("You are in an unfinished
room.\r\n");
temp_room->number = iroom;
temp_room->zone = iroom/100;
rroom = add_room(temp_room);
/* Wham-bam, thank you, ma'am */
free(temp_room->name);
free(temp_room->description);
free(temp_room);
}
if(world[rroom].dir_option[rev_dir[dir]])
{
send_to_char("An exit already exists from that direction.\r\n", ch);
return;
}
CREATE(world[rroom].dir_option[rev_dir[dir]], struct
room_direction_data,1);
world[rroom].dir_option[rev_dir[dir]]->general_description = NULL;
world[rroom].dir_option[rev_dir[dir]]->keyword = NULL;
world[rroom].dir_option[rev_dir[dir]]->to_room = ch->in_room;
CREATE(world[ch->in_room].dir_option[dir], struct
room_direction_data,1);
world[ch->in_room].dir_option[dir]->general_description = NULL;
world[ch->in_room].dir_option[dir]->keyword = NULL;
world[ch->in_room].dir_option[dir]->to_room = rroom;
add_to_save_list(iroom/100, SL_WLD);
sprintf(buf, "You make an exit %s to room %d.\r\n", dirs[dir], iroom);
send_to_char(buf, ch);
}
Looking for further prodding....
Ron
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/03/01 PST