Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!samsung!emory!mephisto!psuvax1!psuvm!cunyvm!byuvm!crn From: CRN@BYUVM.BITNET Newsgroups: comp.lang.c Subject: This can't be a TurboC bug can it? Message-ID: <90212.103511CRN@BYUVM.BITNET> Date: 31 Jul 90 16:35:11 GMT References: <1.2690d8b4@vx24.cc.monash.edu.au> Organization: Brigham Young University Lines: 33 I am having a VERY weird problem in TurboC. My code looks something like this: typedef struct{ . . . char *str; int type; }FIELD; int proc(FIELD *fld) { . . . if(!valid_str(fld->str)) return ERROR; . . . } Here's the weird part. Using Turbo Debugger I have found that my program crashes right after this statement. I perform a watch on fld, fld->str, fld->type. Before the call to valid_str() all of the variables are fine. Upon return from valid_str(), however, the pointer, fld, is screwed up which of course in turn screws up fld->str and fld->type. I assume that fld is being overwritten somehow but I can't figure out how. Valid_str() does nothing to manipulate fld and the only function that valid_str() calls is atoi() (yes, I do include stdlib.h). If anyone has any pointers for me I'd sure appreciate hearing them. -- Cory (crn@byuvm.bitnet)