| Commit | Date | |
|---|---|---|
|
[r13108]
by
mikeaubury
configure: substitute SQLUID/SQLPWD again, and the other aubitrc placeholders etc/aubitrc.in carries @SQLUID@ and @SQLPWD@ for A4GL_SQLUID and The runtime then read them as credentials and presented them to the -951 Incorrect password or user @SQLUID@ is not known on the A machine set up before the rewrite keeps working, because the Restores both options, defaulting to empty. Empty is the right Four other placeholders were leaking the same way and are now configure regenerated with autoreconf. |
2026-09-10 18:33:26 | Tree |
|
[r13107]
by
mikeaubury
esqlc: INT8 host variables on older CSDK, and safer error message handling Four fixes in the Informix driver. 1. Build failure on a CSDK that does not know BIGINT. Three host variables were declared "bigint", a type that only exists They are now guarded the same way, falling back to "int8", which The two branches deliberately use different variable names. esqlc 2. Error text reaching the caller with its parameter unsubstituted. get_sqlerrm() relied on GET DIAGNOSTICS to fill in the message 3. Message templates used as printf format strings. get_errmsg() handed the template from rgetmsg() to sprintf with a Both now go through one helper that substitutes sqlca.sqlerrm 4. An unset SQLPWD became an empty password. acl_getenv() returns an empty string for a variable that is not set, Also adds debug to the connect path: the database, the user name and |
2026-09-10 18:33:08 | Tree |
|
[r13106]
by
mikeaubury
4glc: emit INT8 rather than the token name for BIGINT/INT8 columns The Informix sqlpack rendered an INTEGER8 column type as the literal The server rejected the resulting DDL with -9628 "Type (integer8) not Now emits INT8: accepted by every Informix version where the type |
2026-09-10 18:32:46 | Tree |
|
[r13105]
by
mikeaubury
Give generated code the POSIX header as well as the C ones A CODE block is C written by hand inside a 4GL program, and it reaches for Not guarded on HAVE_UNISTD_H: the generated-code header chain does not pull in |
2026-09-07 15:31:42 | Tree |
|
[r13104]
by
mikeaubury
ace: pass ints to A4GLSQL_next_column, not 4GL INTEGERs The CODE block in get_cols passed the addresses of two 4GL INTEGERs to int A4GLSQL_next_column(char** colname, int* dtype, int* size); A 4GL INTEGER is a long, so on a 64-bit platform the callee filled four bytes error: passing argument 2 of 'A4GLSQL_next_column' from incompatible The values are now taken in ints and copied across, which is what the API |
2026-09-07 15:31:37 | Tree |
|
[r13103]
by
mikeaubury
gzpacked: cast the handle back in the three macros that did not The header maps the stdio calls onto zlib's, and fopen there hands back a #define fclose(a) gzclose((gzFile)(a)) <- casts Passing a FILE * where a gzFile is expected was a warning until gcc 14, which error: passing argument 1 of 'gztell' from incompatible pointer type Only ftell actually broke the build - fseek and rewind are not reached on this |
2026-09-07 15:31:19 | Tree |
|
[r13102]
by
mikeaubury
ChangeLog: fill in 1.6.3, and summarise the changes since it 1.6.3 had no entries at all. Added, from the revisions between the 1.6.2 and The 1.8.1 section covers 162 revisions, so it is grouped by period rather than |
2026-09-07 15:12:11 | Tree |
|
[r13101]
by
mikeaubury
Fix mk_states_opt.c so it builds with gcc 14 Three pieces of pre-C99 style that newer compilers no longer accept, reported main() { -> int main (void) Implicit int was removed from the language in C99 and gcc 14 rejects it error: return type defaults to 'int' [-Wimplicit-int] get_nints is used only in this file, so static both silences the This program generates the parser state table, so the old and new versions were |
2026-09-07 15:11:55 | Tree |
|
[r13100]
by
mikeaubury
C# back end: reject a GOTO that jumps into a block C# allows a goto to leave blocks but not to enter one: the label has to be in error CS0159: No such label 'x' within the scope of the goto statement against generated code, which takes some tracing before it is clear that the | Error at line 529, character 19 Every command list is a block: entering one pushes a fresh id and leaving pops The prefix test is the point. Comparing nesting depth is not enough: in the A goto to a label that is declared nowhere is left alone. That is a different Checked against 160 programs: no program that compiled before fails now, and |
2026-09-07 10:33:05 | Tree |
|
[r13099]
by
mikeaubury
C# back end: a switch needs its labels to be the subject's type 4GL will test an INTEGER against "1", converting as it goes. C# requires the Where the subject and its labels disagree about being character data, the |
2026-09-06 13:53:00 | Tree |