Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, October 16, 2026

Diff for libcfg+/src/cfgfile.c between version 1.12 and 1.13

version 1.12, 2002/04/21 10:08:40 version 1.13, 2002/04/24 22:03:54
Line 54  cfg_cfgfile_get_next_opt(con)
Line 54  cfg_cfgfile_get_next_opt(con)
 {  {
         char *buf;          char *buf;
         int ret_val;          int ret_val;
         register int ret;  
           con->error_code = CFG_OK;
   
         if (con->fhandle == NULL) {          if (con->fhandle == NULL) {
                 con->fhandle = con->filename != NULL                  con->fhandle = con->filename != NULL
                         ? fopen(con->filename, "r")                          ? fopen(con->filename, "r")
                         : NULL;                          : NULL;
                 if (con->fhandle == NULL)                  if (con->fhandle == NULL) {
                         return CFG_ERROR_FILE_NOT_FOUND;                          con->error_code = CFG_ERROR_FILE_NOT_FOUND;
                           return con->error_code;
                   }
   
                 if (con->flags & CFG_FILE_LINE_USAGE) {                  if (con->flags & CFG_FILE_LINE_USAGE) {
                         if (con->begin_pos > 0) {                          if (con->begin_pos > 0) {
Line 71  cfg_cfgfile_get_next_opt(con)
Line 74  cfg_cfgfile_get_next_opt(con)
                                 while (con->cur_idx_tmp < con->begin_pos) {                                  while (con->cur_idx_tmp < con->begin_pos) {
                                         switch (fgetc(con->fhandle)) {                                          switch (fgetc(con->fhandle)) {
                                                 case EOF:                                                  case EOF:
                                                         return CFG_ERROR_SEEK_ERROR;                                                          con->error_code = CFG_ERROR_SEEK_ERROR;
                                                           return con->error_code;
                                                 case '\n':                                                  case '\n':
                                                         con->cur_idx_tmp++;                                                          con->cur_idx_tmp++;
                                         }                                          }
Line 80  cfg_cfgfile_get_next_opt(con)
Line 84  cfg_cfgfile_get_next_opt(con)
                 }                  }
                 else {                  else {
                         if (con->begin_pos > 0 &&                          if (con->begin_pos > 0 &&
                                         fseek(con->fhandle, con->begin_pos, SEEK_SET) != 0)                                          fseek(con->fhandle, con->begin_pos, SEEK_SET) != 0) {
                                 return CFG_ERROR_SEEK_ERROR;                                  con->error_code = CFG_ERROR_SEEK_ERROR;
                                   return con->error_code;
                           }
                 }                  }
         }          }
   
Line 91  cfg_cfgfile_get_next_opt(con)
Line 97  cfg_cfgfile_get_next_opt(con)
                         con->cur_idx_tmp  = 0;                          con->cur_idx_tmp  = 0;
                 }                  }
   
                 ret = get_multi_line(con, &buf);                  con->error_code = get_multi_line(con, &buf);
                   if (con->error_code != CFG_OK) {
                 if (ret != CFG_OK) {  
                         if (buf != NULL)                          if (buf != NULL)
                                 free(buf);                                  free(buf);
   
                         return ret;                          return con->error_code;
                 }                  }
   
                 if (buf != NULL && con->file_stop_prefix != NULL) {                  if (buf != NULL && con->file_stop_prefix != NULL) {
                         if (buf == strdyn_str2(buf, con->file_stop_prefix, NULL)) {                          if (buf == strdyn_str2(buf, con->file_stop_prefix, NULL)) {
                                 __cfg_free_currents(con);                                  __cfg_free_currents(con);
                                 con->cur_opt = buf;                                  con->cur_opt    = buf;
                                 return CFG_ERR_STOP_STR;                                  con->error_code = CFG_ERR_STOP_STR;
                                   return con->error_code;
                         }                          }
                 }                  }
   
Line 113  cfg_cfgfile_get_next_opt(con)
Line 119  cfg_cfgfile_get_next_opt(con)
                         if (buf != NULL)                          if (buf != NULL)
                                 free(buf);                                  free(buf);
   
                         return CFG_OK;                          return con->error_code; /* allways CFG_OK */
                 }                  }
   
                 __cfg_free_currents(con);                  __cfg_free_currents(con);
   
                 if (__cfg_cfgfile_set_currents(con, buf) == 0)                  if (__cfg_cfgfile_set_currents(con, buf) == 0) {
                         return CFG_ERROR_NOMEM;                          con->error_code = CFG_ERROR_NOMEM;
                           return con->error_code;
                   }
   
                 free(buf);                  free(buf);
   
                 ret = __cfg_process_currents(con, &ret_val, NULL);                  con->error_code = __cfg_process_currents(con, &ret_val, NULL);
                   if (con->error_code != CFG_OK)
                 if (ret != CFG_OK)                          return con->error_code;
                         return ret;  
   
                 if (ret_val > 0)                  if (ret_val > 0)
                         return ret_val;                          return ret_val;
         }          }
   
         return 0;          return con->error_code; /* CFG_OK */
 }  }
   
 /*  /*
Line 149  get_multi_line(con, buf)
Line 156  get_multi_line(con, buf)
         const CFG_CONTEXT con;          const CFG_CONTEXT con;
         char              **buf;          char              **buf;
 {  {
         register char **ar = NULL;          register char **ar    = NULL;
         register char *my_buf = NULL;          register char *my_buf = NULL;
         register int state = 0;          register int   state  = 0;
   
         *buf = NULL;          *buf = NULL;
   

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top