On Sat, 6 Apr 2002, Moppe Sewerin wrote:
> A bit Spaghetti code; with some pointless comparisons, but it works!
Yikes, you weren't kidding about that.  It's nearly a maintainence
nightmare.  A quick, untested revision:
    void
    do_auto_exits ( struct char_data *ch )
    {
        int door, slen = 0;
        *buf = '\0';
        for ( door = 0; door < NUM_OF_DIRS; door++ )
        {
            if ( EXIT(ch, door) && EXIT(ch, door)->to_room != NOWHERE )
            {
                if ( *buf != '\0' )
                    slen += sprintf(slen + buf, ", ");
                if ( !EXIT_FLAGGED(EXIT(ch, door), EX_ISDOOR) )
                    slen += sprintf(slen + buf, "%s", dirs[door]);
                else if ( EXIT_FLAGGED(EXIT(ch, door), EX_CLOSED) )
                    slen += sprintf(slen + buf, "[%s]", dirs[door]);
                else
                    slen += sprintf(slen + buf, "(%s)", dirs[door]);
            }
        }
        sprintf(buf2, "%sExits: %s.%s\r\n", CCCYN(ch, C_NRM),
                (*buf != '\0' ? buf : "None", CCNRM(ch, C_NRM));
        send_to_char(buf2, ch);
    }
-dak
--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT