Diff for /libaitio/src/Attic/array.c between versions 1.10.6.2 and 1.10.6.6

version 1.10.6.2, 2012/07/30 10:55:51 version 1.10.6.6, 2012/07/30 11:51:17
Line 467  io_arrayCopy(array_t ** __restrict dest, array_t * __r Line 467  io_arrayCopy(array_t ** __restrict dest, array_t * __r
 }  }
   
 /*  /*
  * io_argsNum() Parse and calculate number of arguments  
  *  
  * @csArgs = Input arguments line  
  * @csDelim = Delimiter(s) for separate  
  * return: 0 error format; -1 error:: can`t read; >0 ok, number of items  
  */  
 inline int  
 io_argsNum(const char *csArgs, const char *csDelim)  
 {  
         register int res;  
         char *pos;  
   
         assert(csArgs);  
         assert(csDelim);  
         if (!csArgs || !csDelim)  
                 return -1;  
   
         for (res = 1, pos = (char*) csArgs; (pos = strpbrk(pos, csDelim)); res++, pos++);  
         return res;  
 }  
   
 /*  
  * io_arrayMake() Parse and make array from arguments ... (input string will be modified!!!    * io_arrayMake() Parse and make array from arguments ... (input string will be modified!!! 
  *      and output array must be free with io_arrayDestroy() after use!)   *      and output array must be free with io_arrayDestroy() after use!)
  *   *
Line 523  io_arrayMake(char * __restrict psArgs, int nargs, cons Line 501  io_arrayMake(char * __restrict psArgs, int nargs, cons
                         (*app = strsep((char **) &psArgs, csDelim));                           (*app = strsep((char **) &psArgs, csDelim)); 
                         **app ? i++ : i, **app ? app++ : app);                          **app ? i++ : i, **app ? app++ : app);
         return i;          return i;
 }  
   
 /*  
  * io_MakeAV() Parse and make attribute/value pair  
  *  
  * @csArgs = Input argument line  
  * @csDelim = Delimiter for separate  
  * @psAttr = Output Attribute  
  * @attrLen = Size of attribute array  
  * @psValue = Output Value, if ==NULL this element not present value or not wanted for return  
  * @valLen = Size of value array  
  * return: 0 error format; -1 error:: can`t read; >0 ok, number of readed items  
 */  
 int  
 io_MakeAV(const char * __restrict csArgs, const char *csDelim,   
                 char * __restrict psAttr, int attrLen, char * __restrict psValue, int valLen)  
 {  
         register int ret = 0;  
         char *pos, *psBuf;  
   
         if (!csArgs || !csDelim || !psAttr || !attrLen)  
                 return -1;  
         if (psValue && !valLen)  
                 return -1;  
         else  
                 memset(psValue, 0, valLen);  
         psBuf = io_strdup(csArgs);  
         if (!psBuf) {  
                 LOGERR;  
                 return -1;  
         }  
   
         pos = strpbrk(psBuf, csDelim);  
         if (pos)  
                 *pos++ = 0;  
         ret++;  
         strlcpy(psAttr, psBuf, attrLen);  
   
         if (pos && *pos) {  
                 ret++;  
                 if (psValue)  
                         strlcpy(psValue, pos, valLen);  
         }  
   
         io_free(psBuf);  
         return ret;  
 }  
   
 /*  
  * io_MakeAV2() Parse and make attribute/value pair over input string  
  *  
  * @csArgs = Input argument line, will be modified!  
  * @csDelim = Delimiter for separate  
  * @psAttr = Output Attribute  
  * @psValue = Output Value, if ==NULL this element not present value or not wanted for return  
  * return: 0 error format; -1 error:: can`t read; >0 ok, number of readed items  
 */  
 int  
 io_MakeAV2(char * __restrict psArgs, const char *csDelim,   
                 char * __restrict psAttr, char * __restrict psValue)  
 {  
         register int ret = 0;  
         char *pos;  
   
         if (!psArgs || !csDelim)  
                 return -1;  
   
         pos = strpbrk(psArgs, csDelim);  
         if (pos)  
                 *pos++ = 0;  
         ret++;  
         if (psAttr)  
                 psAttr = psArgs;  
   
         if (psValue) {  
                 if (pos && *pos) {  
                         ret++;  
                         psValue = pos;  
                 } else  
                         psValue = NULL;  
         }  
   
         return ret;  
 }  }

Removed from v.1.10.6.2  
changed lines
  Added in v.1.10.6.6


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