version 1.13, 2025/04/17 14:34:27
|
version 1.14, 2025/04/20 03:13:17
|
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.14 2025/04/20 03:13:17 snw |
|
* Updates to init_execution_context |
|
* |
* Revision 1.13 2025/04/17 14:34:27 snw |
* Revision 1.13 2025/04/17 14:34:27 snw |
* Further logging improvements |
* Further logging improvements |
* |
* |
Line 398 void init_timezone (void)
|
Line 401 void init_timezone (void)
|
|
|
long clock; |
long clock; |
|
|
#ifdef __CYGWIN__ |
#if defined(__CYGWIN__) |
|
|
tzset (); /* may be required in order */ |
tzset (); /* may be required in order */ |
/* to guarantee _timezone set */ |
/* to guarantee _timezone set */ |
#else |
#else |
Line 487 void init_execution_context (void)
|
Line 489 void init_execution_context (void)
|
|
|
codptr = code; |
codptr = code; |
code[0] = EOL; /* init code_pointer */ |
code[0] = EOL; /* init code_pointer */ |
partition = calloc ((unsigned) (PSIZE + 2), 1); |
|
|
|
if (partition == NULL) exit (2); /* could not allocate stuff... */ |
if ((partition = calloc ((unsigned) (PSIZE + 2), 1)) == NULL) { |
|
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate symbol table (error code %d [%s])", errno, strerror (errno)); |
|
} |
|
|
for (i = 0; i < MAXNO_OF_RBUF; i++) { |
for (i = 0; i < MAXNO_OF_RBUF; i++) { |
rbuf_flags[i].standard = standard; |
rbuf_flags[i].standard = standard; |
Line 503 void init_execution_context (void)
|
Line 506 void init_execution_context (void)
|
s = &partition[PSIZE] - 256; /* pointer to symlen_offset */ |
s = &partition[PSIZE] - 256; /* pointer to symlen_offset */ |
argptr = partition; /* pointer to beg of tmp-storage */ |
argptr = partition; /* pointer to beg of tmp-storage */ |
|
|
svntable = calloc ((unsigned) (UDFSVSIZ + 1), 1); |
if ((svntable = calloc ((unsigned) (UDFSVSIZ + 1), 1)) == NULL) { |
if (svntable == NULL) exit (2); /* could not allocate stuff... */ |
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate user-defined ISV table (error code %d [%s])", errno, strerror (errno)); |
|
} |
svnlen = UDFSVSIZ; /* begin of udf_svn_table */ |
svnlen = UDFSVSIZ; /* begin of udf_svn_table */ |
buff = calloc ((unsigned) NO_OF_RBUF * (unsigned) PSIZE0, 1); /* routine buffer pool */ |
|
if (buff == NULL) exit (2); /* could not allocate stuff... */ |
|
|
|
|
if ((buff = calloc ((unsigned) NO_OF_RBUF * (unsigned) PSIZE0, 1)) == NULL) { |
|
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate routine buffers (error code %d [%s])", errno, strerror (errno)); |
|
} |
|
|
newstack = calloc ((unsigned) NSIZE, 1); |
if ((newstack = calloc ((unsigned) NSIZE, 1)) == NULL) { |
if (newstack == NULL) exit (2); /* could not allocate stuff... */ |
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate NEW stack (error code %d [%s])", errno, strerror (errno)); |
|
} |
|
|
#ifdef DEBUG_NEWPTR |
logprintf (FM_LOG_DEBUG, "allocating newptr stack..."); |
printf("Allocating newptr stack...\r\n"); |
|
#endif |
|
|
|
newptr = newstack; |
newptr = newstack; |
newlimit = newstack + NSIZE - 1024; |
newlimit = newstack + NSIZE - 1024; |
|
|
|
|
namstck = calloc ((unsigned) NESTLEVLS * 13, 1); |
if ((namstck = calloc ((unsigned) NESTLEVLS * 13, 1)) == NULL) { |
if (namstck == NULL) exit (2); /* could not allocate stuff... */ |
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate newptr stack (error code %d [%s])", errno, strerror (errno)); |
|
} |
|
|
*namstck = EOL; |
*namstck = EOL; |
*(namstck + 1) = EOL; |
*(namstck + 1) = EOL; |
namptr = namstck; /* routine name stack pointer */ |
namptr = namstck; /* routine name stack pointer */ |
framstck = calloc ((unsigned) NESTLEVLS * 256, 1); |
|
if (framstck == NULL) exit (2); /* could not allocate stuff... */ |
if ((framstck = calloc ((unsigned) NESTLEVLS * 256, 1)) == NULL) { |
|
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate DO frame stack stack (error code %d [%s])", errno, strerror (errno)); |
|
} |
|
|
*framstck = EOL; |
*framstck = EOL; |
*(framstck + 1) = EOL; |
*(framstck + 1) = EOL; |
dofrmptr = framstck; /* DO_frame stack pointer */ |
dofrmptr = framstck; /* DO_frame stack pointer */ |
cmdstack = calloc ((unsigned) NESTLEVLS * 256, 1); |
|
if (cmdstack == NULL) exit (2); /* could not allocate stuff... */ |
if ((cmdstack = calloc ((unsigned) NESTLEVLS * 256, 1)) == NULL) { |
|
logprintf (FM_LOG_FATAL, "init_execution_context: could not allocate command stack (error code %d [%s])", errno, strerror (errno)); |
|
} |
|
|
cmdptr = cmdstack; /* command stack */ |
cmdptr = cmdstack; /* command stack */ |
|
|