Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!adm!Shekar_Narayanan.SV@Xerox.COM From: Shekar_Narayanan.SV@Xerox.COM Newsgroups: comp.lang.c Subject: Quick C Strange Problems Message-ID: <12170@brl-adm.ARPA> Date: 7 Mar 88 22:11:27 GMT Sender: news@brl-adm.ARPA Lines: 78 Hello there, I am using QuickC for some development at my leisure at home. I am having the strange problems as described below: 1) With character pointers. The code reads like this. char *getstring(col, row, len) int col, row, len; { char *temp, *s; char ch; int count; gotoxy(col, row); clearxy(col, row); /* clear upto end of row */ gotoxy(col, row): temp = s; count = 0; for (;;) { if (count > len) return temp; ch = getkey(); /* get a key from user */ if (ch == ESC) return NULL; switch (ch) { case CR: *s = ch; return temp; break; case BS: if (count > 0) { *(s --) = '\0'; col --; count --; } break; default: *s = ch; s++; col++; count ++; break; } gotoxy(col, row); putchar(ch); } } In this code what I expect to see is that the return in "temp" should contain the char array that "s" accumulated in the process. Instead, while debugging I found that "temp" was pointing only to the last character in the array. Also the char pointers temp and s are pointing to garbage string of characters from nowhere at the first line of the program. I am not sure what is wrong here. Do I need to forcefully do strcpy(temp, ""); to initialise the char pointers everytime. 2) If I use the C library functions int86 to manipulate cursor and other goodies via dos interrupt and somewhere else in the program I use direct video ram access to write to screen then things go crazy. Is there any limitation that is not documentated in QuickC. 3) Finally, I somehow got my program running and compiling in memory in QC environment and when I create and exe image from QC and try to run it from dos command line the screen just freezes and I have to reboot. I had only the stack checking and language extensions options turned on in compiling the program. I am not sure what is wrong. 4) I am also interested in some more information on QC library calls for Memory resident programs using the calls _setvec _getvec etc . There are absolutely no examples in the run time library documentation. Would appreciate any input. Thanks in advance, Shekar