| Commit | Date | |
|---|---|---|
|
[r13124]
by
mikeaubury
Web UI: authentication, session resume, field attributes, option lines, tests Angular/UI_JSON work tracked in node/WEBUI_TASKS.md: one-time start tokens, session resume, |
2026-10-04 13:50:48 | Tree |
|
[r13123]
by
mikeaubury
adbschema: -json output and complete type names -json writes the schema as JSON (docs/adbschema_json.txt). Added SERIAL8, LVARCHAR(n), |
2026-10-04 13:50:35 | Tree |
|
[r13122]
by
mikeaubury
REST/JSON services callable from 4GL rest_register / run_rest_server in libaubit4gl (registration from a JSON file found via |
2026-10-04 13:50:31 | Tree |
|
[r13121]
by
mikeaubury
Compiler: completion hooks, #line fixes, NULL lextype, fgllint in default build - 4glc and fcompile can report which tokens the parser accepts at end of input |
2026-10-04 13:50:20 | Tree |
|
[r13120]
by
mikeaubury
odbc: sqlex.c and array.c still passed 32 bit length indicators r13115 fixed the SQLLEN mismatches in sql.c, but the plugin is built from sqlex.c A4GL_odbc_get_blob_data_int SDWORD i -> SQLGetData arg 6 SDWORD is 4 bytes on LP64 while those parameters are SQLLEN *, 8 bytes, so the sqlex.c:780:70: error: passing argument 6 of 'SQLGetData' from incompatible and array.c would have followed with three more at SQLBindCol. Both are now Checked against the unixODBC 2.3.12 headers (unixodbc-dev, Ubuntu 24.04): |
2026-09-24 16:00:35 | Tree |
|
[r13119]
by
mikeaubury
OPEN FORM: pass the FORM variable's member, not the struct A FORM variable is generated as static struct { long objectid ; } list; and OPEN FORM emitted A4GL_open_gui_form(&list,...) against a parameter error: passing argument 1 of 'A4GL_open_gui_form' from incompatible pointer so tools/test/gui/calc.4gl could not be compiled. The member is now passed While there: the name emitted here comes from the command as a plain defprog.4gl calls time() in a CODE block without including <time.h>; it does Checked on the 142-module corpus: 112 compile where 110 did, the two being |
2026-09-21 11:14:47 | Tree |
|
[r13118]
by
mikeaubury
Declare the 4GL-callable builtins where generated code can see them Compiling a 4GL program that calls a4gl_get_ui_mode() fails: error: implicit declaration of function 'aclfgl_a4gl_get_ui_mode'; The function exists (lib/libaubit4gl/fglwrap.c) and is prototyped in a4gl_get_ui_mode was not alone. Every name in lib/generated/std_funcs.c was A4GL_endis_fields goes the same way: the generator emits a call to it for the Signatures were checked against the definitions, not against other headers. Checked on 142 modules from tools/ and the test suite: 110 compile where 108 Not fixed here, found by the same scan and worth a look on their own: |
2026-09-21 10:59:19 | Tree |
|
[r13117]
by
mikeaubury
C back end: make MARK_SCOPE work A4GL_MARK_SCOPE (and MARK_SCOPE_MODULE) prefixes variables with their scope - static long M_dup ; and did not compile. Only the C# back end, which applies the prefix wherever a The declaration and every use now take the name from one function, - system variables (status, sqlca, int_flag...) live in the library and keep - class members and associative arrays keep the plain name: they are declared - simple and object function parameters had no scope recorded at all, so they - a CODE block is hand written C that names variables as the 4GL wrote them, Checked on 142 modules from tools/ and the test suite compiled three ways - no Two things the flag cannot do: C outside the module must use the prefixed name The description of A4GL_MARK_SCOPE said it adds the module name, which is what |
2026-09-21 10:08:40 | Tree |
|
[r13116]
by
mikeaubury
Generated code: do not include <unistd.h> r13105 added <unistd.h> to a4gl_incl_4glhdr.h so that a CODE block calling error: 'dup' redeclared as different kind of symbol Those are ordinary 4GL variable names: such programs compiled in 1.6.3 and up Checked on clean exports of r13115 built with and without the change: configure A variable can still collide with stdio.h, string.h or stdlib.h - index, time |
2026-09-21 10:08:18 | Tree |
|
[r13115]
by
mikeaubury
odbc: stop redefining SQLLEN to a 32 bit type sql.c opened with #ifndef SQLLEN meant as a fallback for header sets that predate SQLLEN. SQLLEN is a That produced 20 errors under gcc 14 (SQLBindCol argument 6, SQLRowCount The fallback now keys off A4GL_ODBC_HEADERS_LACK_SQLLEN, set only by the It moved into a4gl_lib_sql_odbc_int.h because the prototypes there use The declarations that feed ODBC out parameters are corrected to Verified by compiling sql.c against all three header sets: unixODBC |
2026-09-14 18:44:00 | Tree |