version 1.7, 2025/03/24 04:05:36
|
version 1.11, 2025/04/13 04:22:43
|
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.11 2025/04/13 04:22:43 snw |
|
* Fix snprintf calls |
|
* |
|
* Revision 1.10 2025/04/10 01:24:38 snw |
|
* Remove C++ style comments |
|
* |
|
* Revision 1.9 2025/04/03 16:58:34 snw |
|
* Make error message for shm_init error during initialization more friendly |
|
* |
|
* Revision 1.8 2025/03/24 04:44:55 snw |
|
* Don't call ttyname on OS/2 |
|
* |
* Revision 1.7 2025/03/24 04:05:36 snw |
* Revision 1.7 2025/03/24 04:05:36 snw |
* Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2 |
* Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2 |
* |
* |
Line 176 short init (char *namespace_name)
|
Line 188 short init (char *namespace_name)
|
retval = shm_init (shm_init_size); |
retval = shm_init (shm_init_size); |
|
|
if (retval == SHMS_GET_ERR) { |
if (retval == SHMS_GET_ERR) { |
fprintf (stderr, "init: error initializing shared memory [errno %d]\r\n", errno); |
if (errno != 13) { |
|
fprintf (stderr, "init: error initializing shared memory [errno %d]\r\n", errno); |
|
} |
|
else { |
|
fprintf (stderr, "init: error attaching to environment -- does your user belong to the group that owns environment '%s'?\r\n", shm_env); |
|
} |
|
if (run_daemon == FALSE) { |
|
set_io (UNIX); |
|
} |
exit (1); |
exit (1); |
} |
} |
|
|
Line 227 void init_process (void)
|
Line 247 void init_process (void)
|
{ |
{ |
pid = getpid (); /* get $J = process ID */ |
pid = getpid (); /* get $J = process ID */ |
umask (0); /* protection bits mask to full rights */ |
umask (0); /* protection bits mask to full rights */ |
snprintf (fp_conversion, 9, "%%.%df\201", DBL_DIG); |
snprintf (fp_conversion, sizeof (fp_conversion) - 1, "%%.%df\201", DBL_DIG); |
|
|
if (fp_mode) { |
if (fp_mode) { |
zprecise = DBL_DIG; |
zprecise = DBL_DIG; |
Line 436 void init_readline (void)
|
Line 456 void init_readline (void)
|
pw_buf = (char *) calloc (strlen(pw->pw_dir) + 1, sizeof(char)); |
pw_buf = (char *) calloc (strlen(pw->pw_dir) + 1, sizeof(char)); |
strcpy (pw_buf, pw->pw_dir); |
strcpy (pw_buf, pw->pw_dir); |
|
|
snprintf (history_file, 256, "%s/.freem_history", pw_buf); |
snprintf (history_file, sizeof (history_file) - 1, "%s/.freem_history", pw_buf); |
|
|
free (pw_buf); |
free (pw_buf); |
|
|
Line 529 void init_mwapi (void)
|
Line 549 void init_mwapi (void)
|
gtk_init (0, NULL); |
gtk_init (0, NULL); |
} |
} |
*/ |
*/ |
//TODO: init Motif/libXt |
/* TODO: init Motif/libXt */ |
} |
} |
#else |
#else |
void init_mwapi (void) |
void init_mwapi (void) |
Line 556 void init_io (void)
|
Line 576 void init_io (void)
|
|
|
set_io (MUMPS); /* set i/o parameters */ |
set_io (MUMPS); /* set i/o parameters */ |
|
|
#if !defined(__AMIGA) |
#if !defined(__AMIGA) && !defined(__OS2__) |
if (ttyname (HOME)) { /* for $IO of HOME */ |
if (ttyname (HOME)) { /* for $IO of HOME */ |
strcpy (dev[HOME], ttyname (HOME)); |
strcpy (dev[HOME], ttyname (HOME)); |
dev[HOME][strlen (dev[HOME])] = EOL; |
dev[HOME][strlen (dev[HOME])] = EOL; |
Line 565 void init_io (void)
|
Line 585 void init_io (void)
|
dev[HOME][0] = EOL; /* ...we are in a pipe */ |
dev[HOME][0] = EOL; /* ...we are in a pipe */ |
} |
} |
#else |
#else |
|
#if defined(__AMIGA) |
strcpy (dev[HOME], "CONSOLE:"); |
strcpy (dev[HOME], "CONSOLE:"); |
|
#else |
|
#if defined(__OS2__) |
|
strcpy (dev[HOME], "CON:"); |
|
#endif |
|
#endif |
#endif |
#endif |
|
|
/* init function keys */ |
/* init function keys */ |
Line 638 void cleanup (void)
|
Line 664 void cleanup (void)
|
int ch; |
int ch; |
|
|
/* remove this job's entry from ^$JOB SSVN */ |
/* remove this job's entry from ^$JOB SSVN */ |
snprintf (k_buf, 255, "^$JOB\202%d\201", pid); |
snprintf (k_buf, sizeof (k_buf) - 1, "^$JOB\202%d\201", pid); |
symtab_shm (kill_sym, k_buf, " \201"); |
symtab_shm (kill_sym, k_buf, " \201"); |
|
|
reset_terminal (); |
reset_terminal (); |