Diff for /freem/src/init.c between versions 1.6 and 1.12

version 1.6, 2025/03/09 19:14:25 version 1.12, 2025/04/15 14:39:06
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/15 14:39:06  snw
    *   Further improvements to logging
    *
    *   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
    *   Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2
    *
  *   Revision 1.6  2025/03/09 19:14:25  snw   *   Revision 1.6  2025/03/09 19:14:25  snw
  *   First phase of REUSE compliance and header reformat   *   First phase of REUSE compliance and header reformat
  *   *
Line 77 Line 95
 #include "jobtab.h"  #include "jobtab.h"
 #include "datatypes.h"  #include "datatypes.h"
 #include "objects.h"  #include "objects.h"
   #include "log.h"
   
 #ifdef HAVE_LIBREADLINE  #ifdef HAVE_LIBREADLINE
 #  if defined(HAVE_READLINE_READLINE_H)  #  if defined(HAVE_READLINE_READLINE_H)
Line 150  void init_mwapi(void); Line 169  void init_mwapi(void);
 short init (char *namespace_name)   short init (char *namespace_name) 
 {  {
     short retval;      short retval;
       
       init_log ();
     init_process ();      init_process ();
     init_devtable ();      init_devtable ();
     init_signals ();      init_signals ();
Line 173  short init (char *namespace_name) Line 193  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 224  void init_process (void) Line 252  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 433  void init_readline (void) Line 461  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 526  void init_mwapi (void) Line 554  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 547  void init_io (void) Line 575  void init_io (void)
     sq_modes[0] = '+';      sq_modes[0] = '+';
     for (i = 0; i <= MAXDEV; ug_buf[i++][0] = EOL); /* init read-buffers */      for (i = 0; i <= MAXDEV; ug_buf[i++][0] = EOL); /* init read-buffers */
   
     crlf[HOME] = frm_filter;      frm_crlf[HOME] = frm_filter;
   
     if (hardcopy) zbreakon = ENABLE;        /* enable CTRL/B */      if (hardcopy) zbreakon = ENABLE;        /* enable CTRL/B */
   
     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 562  void init_io (void) Line 590  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 635  void cleanup (void) Line 669  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 ();

Removed from v.1.6  
changed lines
  Added in v.1.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>