[CODE] msvc++ 6.0 bug??

From: Tom Dailey (tomd@waymark.net)
Date: 12/16/98


I compiled within 6.0 prof devstudio with minimal errors and then went to
execute circle.exe
and received a gpf w/ "unhandled exception in circle.exe:  0xC0000005:
Access Violation.

When entering debug, it points to 2 places
1.  Fclose.c (a microsoft library file within vc98\crt\src\)
           /* Init near stream pointer */
        stream = str;

        if (stream->_flag & _IOSTRG) {        <----- points here
                stream->_flag = 0;

with context being:  fclose(_iobuf*)
The resulting variables str and stream are -1

2.  ban.c

with context being:  Read_Invalid_List()
with variables:
fp            CXX0030:  Error:  Expression cannot be evaluated
temp       CXX0030:  Error:  Expression cannot be evaluated

I then compiled at command line, using circle's default makefile,
which resulted in the mud compiling and booting normaly.

My conclusion thus far is that there is an error in microsoft's crt lib
The reason for this is that our mud has a similiar error when running within
devstudio, although it points to vc98\crt\src\rewind.c\
    /* Init stream pointer */
        stream = str;

        fd = _fileno(stream);      <------ problem line

context:    rewind(_iobuf*)

and within our db.c
  while (get_line(fl, buf))
    num_of_cmds++;  /* this should be correct within 3 or so */
  rewind(fl);           <------- problem

context:    load_zones(_iobuf*, char*)

Any ideas would be appreciated.


     | 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