version 1.11, 2025/03/30 01:36:58
|
version 1.12, 2025/04/10 01:24:38
|
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.12 2025/04/10 01:24:38 snw |
|
* Remove C++ style comments |
|
* |
* Revision 1.11 2025/03/30 01:36:58 snw |
* Revision 1.11 2025/03/30 01:36:58 snw |
* Make it easier to bring back fma_gedit, fix double-free in global handler, limit $CHAR to 7-bit ASCII |
* Make it easier to bring back fma_gedit, fix double-free in global handler, limit $CHAR to 7-bit ASCII |
* |
* |
Line 769 d_o_n:
|
Line 772 d_o_n:
|
|
|
if (merr () == UNDEF) { |
if (merr () == UNDEF) { |
|
|
//smw 15 nov 2023 merr_raise (ierr < 0 ? OK - CTRLB : OK); |
/* smw 15 nov 2023 merr_raise (ierr < 0 ? OK - CTRLB : OK); */ |
merr_clear (); |
merr_clear (); |
|
|
if (*++codptr == ',') { |
if (*++codptr == ',') { |
Line 954 undefglvn:
|
Line 957 undefglvn:
|
stcpy (refsav[refsx], zref); |
stcpy (refsav[refsx], zref); |
stcpy (refsav[refsx++] + 256, zloc); |
stcpy (refsav[refsx++] + 256, zloc); |
|
|
ierr -= M7; //smw TODO HUH?? |
ierr -= M7; |
arg--; |
arg--; |
|
|
goto nextchr; |
goto nextchr; |
Line 4607 extra_fun:
|
Line 4610 extra_fun:
|
obj_field = FALSE; |
obj_field = FALSE; |
|
|
|
|
//dofram0 = dofrmptr; |
/* dofram0 = dofrmptr; */ |
|
|
i = 0; |
i = 0; |
codptr++; |
codptr++; |
Line 4669 extra_fun:
|
Line 4672 extra_fun:
|
|
|
obj_field = FALSE; |
obj_field = FALSE; |
|
|
//dofram0 = 0; |
/* dofram0 = 0; */ |
if (*codptr == '(') codptr += 2; |
if (*codptr == '(') codptr += 2; |
|
|
} |
} |
Line 4745 extra_fun:
|
Line 4748 extra_fun:
|
/* save off the return type to be checked by QUIT code */ |
/* save off the return type to be checked by QUIT code */ |
extr_types[nstx + 1] = ret_type; |
extr_types[nstx + 1] = ret_type; |
|
|
//printf ("return_type = '%s' *reg = '%c'\r\n", return_type, *reg); |
/* printf ("return_type = '%s' *reg = '%c'\r\n", return_type, *reg); */ |
} |
} |
|
|
if (*reg == TAB || *reg == SP) goto off; |
if (*reg == TAB || *reg == SP) goto off; |
Line 4880 off:
|
Line 4883 off:
|
else { |
else { |
/* PARSE FORMALLIST */ |
/* PARSE FORMALLIST */ |
short fl_type; |
short fl_type; |
short fl_mandatory; |
/* re-enable following 3 later */ |
short fl_byref; |
/*short fl_mandatory;*/ |
|
/*short fl_byref;*/ |
|
/*short lastparm;*/ |
char fl_typestr[255]; |
char fl_typestr[255]; |
char fl_mand; |
char fl_mand; |
short dtcheck_result; |
short dtcheck_result; |
register short typei; |
register short typei; |
short lastparm; |
|
short gotparm; |
short gotparm; |
int paramct; |
int paramct; |
|
|
fl_type = DT_AUTO; |
fl_type = DT_AUTO; |
fl_mandatory = TRUE; |
/* re-enable following 3 later */ |
fl_byref = FALSE; |
/*fl_mandatory = TRUE;*/ |
|
/*fl_byref = FALSE;*/ |
|
/*lastparm = FALSE;*/ |
dtcheck_result = FALSE; |
dtcheck_result = FALSE; |
lastparm = FALSE; |
|
gotparm = FALSE; |
gotparm = FALSE; |
paramct = 0; |
paramct = 0; |
|
|
Line 4917 off:
|
Line 4922 off:
|
fl_typestr[typei] = '\0'; |
fl_typestr[typei] = '\0'; |
fl_mand = *(reg + 1); |
fl_mand = *(reg + 1); |
|
|
|
/* |
if ((fl_mand == 'o') || (fl_mand == 'O')) { |
if ((fl_mand == 'o') || (fl_mand == 'O')) { |
fl_mandatory = FALSE; |
fl_mandatory = FALSE; |
} |
} |
Line 4931 off:
|
Line 4937 off:
|
|
|
goto errexfun; |
goto errexfun; |
} |
} |
|
*/ |
|
|
|
if ((fl_mand != 'o') && (fl_mand != 'O')) { |
|
merr_raise (INVLIBOPT); |
|
dofrmptr = dofram0; |
|
|
|
errex = TRUE; |
|
|
|
nstx--; |
|
estack--; |
|
|
|
goto errexfun; |
|
} |
|
|
|
|
} |
} |
else if ((ch == ',') || (ch == ')')) { |
else if ((ch == ',') || (ch == ')')) { |
|
|
|
/* re-enable later |
if (ch == ')') { |
if (ch == ')') { |
lastparm = TRUE; |
lastparm = TRUE; |
} |
} |
|
*/ |
|
|
gotparm = TRUE; |
gotparm = TRUE; |
paramct++; |
paramct++; |
Line 4973 off:
|
Line 4996 off:
|
|
|
if (dtcheck_result == FALSE) { |
if (dtcheck_result == FALSE) { |
merr_raise (TYPMISMATCH); |
merr_raise (TYPMISMATCH); |
dofrmptr = dofram0; // reset frame pointer |
dofrmptr = dofram0; /* reset frame pointer */ |
|
|
errex = TRUE; |
errex = TRUE; |
|
|
Line 5494 errexfun:
|
Line 5517 errexfun:
|
ilong = ilong1 - (ilong * 86400); |
ilong = ilong1 - (ilong * 86400); |
|
|
lintstr (&a[i], ilong); |
lintstr (&a[i], ilong); |
|
|
// printf ("unix epoch = %d\r\n", horolog_to_unix (a)); |
|
|
|
goto exec; |
goto exec; |
|
|
Line 5572 errexfun:
|
Line 5593 errexfun:
|
|
|
case SVNecode: |
case SVNecode: |
|
|
//write_m ("in SVNecode\r\n\201"); |
/* write_m ("in SVNecode\r\n\201"); */ |
|
|
if (stlen (user_ecode)) { |
if (stlen (user_ecode)) { |
stcpy (a, user_ecode); |
stcpy (a, user_ecode); |
Line 5596 errexfun:
|
Line 5617 errexfun:
|
|
|
|
|
case SVNetrap: |
case SVNetrap: |
// write_m ("in SVNetrap\r\n\201"); |
/* write_m ("in SVNetrap\r\n\201"); */ |
stcpy (a, etrap); |
stcpy (a, etrap); |
goto exec; |
goto exec; |
|
|
Line 5680 errexfun:
|
Line 5701 errexfun:
|
goto exec; |
goto exec; |
|
|
|
|
///* $ZX (number of columns) */ |
/* $ZX (number of columns) */ |
//case 'X': |
case 'X': |
//intstr (a, n_columns); |
intstr (a, n_columns); |
// goto exec; |
goto exec; |
|
|
///* $ZY (number of rows) */ |
/* $ZY (number of rows) */ |
//case 'Y': |
case 'Y': |
//intstr (a, n_lines); |
intstr (a, n_lines); |
//goto exec; |
goto exec; |
|
|
/* $ZERROR */ |
/* $ZERROR */ |
case 'E': |
case 'E': |