Diff for /freem/src/iniconf.c between versions 1.6 and 1.10

version 1.6, 2025/04/10 01:24:38 version 1.10, 2025/04/15 16:49:36
Line 25 Line 25
  *   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.10  2025/04/15 16:49:36  snw
    *   Make use of logprintf throughout codebase
    *
    *   Revision 1.9  2025/04/13 04:22:43  snw
    *   Fix snprintf calls
    *
    *   Revision 1.8  2025/04/10 15:31:25  snw
    *   Attempt to fix DosCopy calls for OS/2
    *
    *   Revision 1.7  2025/04/10 15:27:39  snw
    *   Detect Devuan distribution and fix OS/2 problem with iniconf.c
    *
  *   Revision 1.6  2025/04/10 01:24:38  snw   *   Revision 1.6  2025/04/10 01:24:38  snw
  *   Remove C++ style comments   *   Remove C++ style comments
  *   *
Line 56 Line 68
 #include <fs.h>  #include <fs.h>
 #include "mpsdef.h"  #include "mpsdef.h"
   
   #if defined(__OS2__)
   # include <os2.h>
   #endif
   
 extern char config_file[4096];  extern char config_file[4096];
   
 #if !defined(PATH_MAX) && defined(_SCO_DS)  #if !defined(PATH_MAX) && defined(_SCO_DS)
Line 79  extern char config_file[4096]; Line 95  extern char config_file[4096];
 #endif  #endif
   
   
 /* ini_keyvalue *ini_head; */  
   
 int get_conf(char *section, char *key, char *value)  int get_conf(char *section, char *key, char *value)
 {  {
     char *etcfile;      char *etcfile;
Line 220  int read_profile_string(char *file, char Line 234  int read_profile_string(char *file, char
   
   
   
     snprintf(fullsec, CONF_BUFSIZE, "[%s]%c", section, '\0');      snprintf(fullsec, CONF_BUFSIZE - 1, "[%s]%c", section, '\0');
   
     strcpy(cursec, "[]");      strcpy(cursec, "[]");
   
   
     fp = fopen(file, "r");      fp = fopen(file, "r");
   
     while(fgets(line, CONF_BUFSIZE, fp) != NULL) {      while(fgets(line, CONF_BUFSIZE - 1, fp) != NULL) {
         ++lnum;          ++lnum;
   
         if(line[0] == '[') {          if(line[0] == '[') {
Line 310  int modify_profile_string(char *file, ch Line 324  int modify_profile_string(char *file, ch
     char tmps[255];      char tmps[255];
     int changed = FALSE;      int changed = FALSE;
           
     snprintf (output_filename, 4095, "%s.tmp", file);      snprintf (output_filename, sizeof (output_filename) - 1, "%s.tmp", file);
   
     if ((input_fp = fopen (file, "r")) == NULL) {      if ((input_fp = fopen (file, "r")) == NULL) {
         return FALSE;          return FALSE;
Line 341  int modify_profile_string(char *file, ch Line 355  int modify_profile_string(char *file, ch
                     /* is this key the one we're changing? */                      /* is this key the one we're changing? */
                     if (strcmp (key, current_key) == 0) {                      if (strcmp (key, current_key) == 0) {
                         /* yes; modify it and write out*/                          /* yes; modify it and write out*/
                         snprintf (tmps, 255, "%s=%s\n", current_key, value);                          snprintf (tmps, sizeof (tmps) - 1, "%s=%s\n", current_key, value);
   
                         fputs (tmps, output_fp);                          fputs (tmps, output_fp);
                         changed = TRUE;                                                  changed = TRUE;                        
Line 374  int modify_profile_string(char *file, ch Line 388  int modify_profile_string(char *file, ch
 #if !defined(__OS2__)  #if !defined(__OS2__)
     cp (file, output_filename);      cp (file, output_filename);
 #else  #else
     DosCopy (output_filename, file);      DosCopy (output_filename, file, 1);
 #endif      #endif    
                                                 
     return changed;      return changed;

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


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