Diff for /libaitio/src/aitio.c between versions 1.9.2.1 and 1.10.6.3

version 1.9.2.1, 2012/04/02 09:10:30 version 1.10.6.3, 2012/05/23 12:16:13
Line 51  int io_Debug; Line 51  int io_Debug;
   
 #pragma GCC visibility push(hidden)  #pragma GCC visibility push(hidden)
   
   int io_mpool;
   
 int io_Errno;  int io_Errno;
 char io_Error[STRSIZ];  char io_Error[STRSIZ];
   
Line 84  io_SetErr(int eno, char *estr, ...) Line 86  io_SetErr(int eno, char *estr, ...)
         va_end(lst);          va_end(lst);
 }  }
   
   // mpool_inuse() Check for mpool usage
   inline int
   mpool_inuse()
   {
           return io_mpool;
   }
   
   
   // init libaitio routine
   void
   _init()
   {
   #ifdef USE_MPOOL
           io_mpool = 42;
   #else
           io_mpool = 0;
   #endif
   }
   
   // fini libaitio routine
   void
   _fini()
   {
   }
   
   
 /*  /*
  * ioPromptRead() - Read data from input h[0] with prompt to output h[1]   * ioPromptRead() - Read data from input h[0] with prompt to output h[1]
  *   *
Line 249  ioRegexVerify(const char *csRegex, const char *csData, Line 276  ioRegexVerify(const char *csRegex, const char *csData,
   
         if ((ret = regcomp(&re, csRegex, REG_EXTENDED))) {          if ((ret = regcomp(&re, csRegex, REG_EXTENDED))) {
                 regerror(ret, &re, szErr, STRSIZ);                  regerror(ret, &re, szErr, STRSIZ);
                io_SetErr(ret, "Error:: %s\n", szErr);                io_SetErr(ret, "%s", szErr);
                 regfree(&re);                  regfree(&re);
                 return NULL;                  return NULL;
         }          }
Line 267  ioRegexVerify(const char *csRegex, const char *csData, Line 294  ioRegexVerify(const char *csRegex, const char *csData,
   
         if (ret) {          if (ret) {
                 regerror(ret, &re, szErr, STRSIZ);                  regerror(ret, &re, szErr, STRSIZ);
                io_SetErr(ret, "Error:: %s\n", szErr);                io_SetErr(ret, "%s", szErr);
                 pos = NULL;                  pos = NULL;
         }          }
   
Line 312  ioRegexGet(const char *csRegex, const char *csData, ch Line 339  ioRegexGet(const char *csRegex, const char *csData, ch
  * @csRegex = Regulare expression pattern   * @csRegex = Regulare expression pattern
  * @csData = Source data   * @csData = Source data
  * @csNew = Data for replace   * @csNew = Data for replace
 * return: NULL not match or error; !=NULL allocated new string, must be free after use! * return: NULL not match or error; !=NULL allocated new string, must be xfree after use!
 */  */
 char *  char *
 ioRegexReplace(const char *csRegex, const char *csData, const char *csNew)  ioRegexReplace(const char *csRegex, const char *csData, const char *csNew)
Line 328  ioRegexReplace(const char *csRegex, const char *csData Line 355  ioRegexReplace(const char *csRegex, const char *csData
   
         // ___ before match          // ___ before match
         len = sp + 1;          len = sp + 1;
        str = malloc(len);        str = xmalloc(len);
         if (!str) {          if (!str) {
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
Line 337  ioRegexReplace(const char *csRegex, const char *csData Line 364  ioRegexReplace(const char *csRegex, const char *csData
         // * replace match *          // * replace match *
         if (csNew) {          if (csNew) {
                 len += strlen(csNew);                  len += strlen(csNew);
                str = realloc(str, len);                str = xrealloc(str, len);
                 if (!str) {                  if (!str) {
                         LOGERR;                          LOGERR;
                         return NULL;                          return NULL;
Line 346  ioRegexReplace(const char *csRegex, const char *csData Line 373  ioRegexReplace(const char *csRegex, const char *csData
         }          }
         // after match ___          // after match ___
         len += strlen(csData) - ep;          len += strlen(csData) - ep;
        str = realloc(str, len);        str = xrealloc(str, len);
         if (!str) {          if (!str) {
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
Line 360  ioRegexReplace(const char *csRegex, const char *csData Line 387  ioRegexReplace(const char *csRegex, const char *csData
  * ioStrAst() - Function for evaluate string like asterisk variable "{text[:[-]#[:#]]}"   * ioStrAst() - Function for evaluate string like asterisk variable "{text[:[-]#[:#]]}"
  *   *
  * @csString = Input string   * @csString = Input string
 * return: NULL error, !=NULL Allocated new string evaluated from input string, must be free() * return: NULL error, !=NULL Allocated new string evaluated from input string, must be xfree()
 */  */
 char *  char *
 ioStrAst(const char *csString)  ioStrAst(const char *csString)
Line 373  ioStrAst(const char *csString) Line 400  ioStrAst(const char *csString)
   
         if (!strchr(csString, '{') || !strrchr(csString, '}')) {          if (!strchr(csString, '{') || !strrchr(csString, '}')) {
                 memset(io_Error, 0, STRSIZ);                  memset(io_Error, 0, STRSIZ);
                snprintf(io_Error, STRSIZ, "Error:: Invalid input string format ... "                snprintf(io_Error, STRSIZ, "Invalid input string format ... "
                                 "must be like {text[:[-]#[:#]]}");                                  "must be like {text[:[-]#[:#]]}");
                 io_Errno = EINVAL;                  io_Errno = EINVAL;
                 return NULL;                  return NULL;
Line 401  ioStrAst(const char *csString) Line 428  ioStrAst(const char *csString)
                 ext = str;                  ext = str;
   
         out = strdup(ext);          out = strdup(ext);
        free(str);        xfree(str);
   
         return out;          return out;
 }  }
Line 451  ioMkDir(const char *csDir, int mode) Line 478  ioMkDir(const char *csDir, int mode)
         }          }
 end:  end:
         chdir(szOld);          chdir(szOld);
        free(str);        xfree(str);
         return cx;          return cx;
 }  }
   

Removed from v.1.9.2.1  
changed lines
  Added in v.1.10.6.3


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