BUG: ESQL-C: Divisor in Parentheses May Cause AV in NSQLPREPLast reviewed: April 9, 1997Article ID: Q158885 |
The information in this article applies to:
SYMPTOMSNSQLPREP may experience an unhandled access violation (AV) when precompiling a C division expression in which the divisor is contained within parentheses. Additionally, the C modulus (%) operator causes the same problem.
WORKAROUNDTo work around this problem, do either of the following:
STATUSMicrosoft has confirmed this to be a problem in Microsoft Embedded SQL for C Programmer's Toolkit version 6.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATIONOther operators (such as +, -, and *) do not cause an AV in NSQLPREP. The following is a sample code fragment that will cause the ESQL-C precompiler to generate an AV:
int main (int argc, char** argv, char** envp) { int x; EXEC SQL BEGIN DECLARE SECTION; char o[3]; EXEC SQL END DECLARE SECTION; x = 1 / (1); // causes AV return (0); } /* end program */The following sample code fragment will not cause the precompiler to generate an AV, because there is a character string variable assignment before the division expression:
int main (int argc, char** argv, char** envp) { int x; char string[] = ""; /* character string assignment */ EXEC SQL BEGIN DECLARE SECTION; char o[3]; EXEC SQL END DECLARE SECTION; x = 1 / (1); return (0); } /* end program */ |
Additional query words: ESQL/C ESQL-C
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |