Diff for /freem/src/init.c between versions 1.7 and 1.11

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 ();

Removed from v.1.7  
changed lines
  Added in v.1.11


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