|
|
| version 1.6, 2025/03/22 03:05:19 | version 1.7, 2025/03/22 03:39:23 |
|---|---|
| Line 24 | Line 24 |
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
| * | * |
| * $Log$ | * $Log$ |
| * Revision 1.7 2025/03/22 03:39:23 snw | |
| * Fix reverse query polyfill call-in from C side and make NAME exprs silently truncate long names in obsolete MDC dialects | |
| * | |
| * Revision 1.6 2025/03/22 03:05:19 snw | * Revision 1.6 2025/03/22 03:05:19 snw |
| * Comply with X11-96/13 portable length of names | * Comply with X11-96/13 portable length of names |
| * | * |
| Line 218 void expr (short extyp) | Line 221 void expr (short extyp) |
| varnam[i++] = ch; | varnam[i++] = ch; |
| } | } |
| else { | else { |
| merr_raise (M56); | if ((rtn_dialect () == D_M77) || |
| return; | (rtn_dialect () == D_M84) || |
| (rtn_dialect () == D_M90) || | |
| (rtn_dialect () == D_M95)) { | |
| /* silently truncate... yeah, the standard is stupid af */ | |
| continue; | |
| } | |
| else { | |
| merr_raise (M56); | |
| return; | |
| } | |
| } | } |
| } | } |
| varnam[i] = EOL; | varnam[i] = EOL; |
| #if 0 | |
| { | |
| char gooby[256]; | |
| stcpy (gooby, varnam); | |
| stcnv_m2c (gooby); | |
| printf ("name = '%s'\r\n", gooby); | |
| } | |
| #endif | |
| if (ch == '(') { /* it's an array */ | if (ch == '(') { /* it's an array */ |
| Line 2235 f20: | Line 2256 f20: |
| stcnv_c2m (qryarg_ext); | stcnv_c2m (qryarg_ext); |
| /* put the $QUERY argument into the local variable %INT.REVQ */ | /* put the $QUERY argument into the local variable %INT.REVQ */ |
| symtab (set_sym, "%INT.REVQ\201\201", qryarg_ext); | symtab (set_sym, "%INTREVQ\201\201", qryarg_ext); |
| /* set up for calling into polyfill wrapper */ | /* set up for calling into polyfill wrapper */ |
| code[0] = '\201'; | code[0] = '\201'; |