Diff for /libelwix/src/str.c between versions 1.6 and 1.10

version 1.6, 2015/06/25 17:53:50 version 1.10, 2023/03/14 22:36:13
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004 - 2015Copyright 2004 - 2023
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 230  str_Hex2Dig(const char *psLine) Line 230  str_Hex2Dig(const char *psLine)
 {  {
         register int i, j;          register int i, j;
         char *str, szWork[3] = { 0, 0, 0 };          char *str, szWork[3] = { 0, 0, 0 };
        ait_val_t *v, s;        ait_val_t *v, s = AIT_VAL_INIT;
         u_char *b;          u_char *b;
         int n;          int n;
   
Line 286  str_Dig2Hex(ait_val_t *digz) Line 286  str_Dig2Hex(ait_val_t *digz)
   
         for (i = 0, b = AIT_GET_BUF(digz); i < AIT_LEN(digz); i++) {          for (i = 0, b = AIT_GET_BUF(digz); i < AIT_LEN(digz); i++) {
                 snprintf(szWork, sizeof szWork, "%02hhX", b[i]);                  snprintf(szWork, sizeof szWork, "%02hhX", b[i]);
                strncat(str, szWork, 2);                strcat(str, szWork);
         }          }
   
         return str;          return str;
 }  }
   
 /*  /*
    * str_Dig2Hex2() - Convert from digit array to Hex string
    *
    * @digz = Digits array
    * @diglen = Array length
    * return: NULL nothing to do or error; 
    *              !=0 Allocated new converted string (must be e_free())
   */
   char *
   str_Dig2Hex2(u_char * __restrict digz, int diglen)
   {
           register int i;
           char szWork[3] = { 0, 0, 0 }, *str;
           u_char *b;
   
           if (!digz || !diglen)
                   return NULL;
   
           str = e_malloc(diglen * 2 + 1);
           if (!str)
                   return NULL;
           else
                   memset(str, 0, diglen * 2 + 1);
   
           for (i = 0, b = digz; i < diglen; i++) {
                   snprintf(szWork, sizeof szWork, "%02hhX", b[i]);
                   strcat(str, szWork);
           }
   
           return str;
   }
   
   /*
  * str_LTrim() - Remove left whitespaces from text string   * str_LTrim() - Remove left whitespaces from text string
  *   *
  * @psLine = Text string   * @psLine = Text string
Line 432  str_Lower(char * __restrict psLine) Line 464  str_Lower(char * __restrict psLine)
 }  }
   
 /*  /*
 * str_getString() - Get string from data buffer * str_getString() - Get NULL delimited string from data buffer
  *   *
 * @data = Data buffer * @data = Const data buffer
  * @dlen = Data length   * @dlen = Data length
  * @next = Return next position after string if !=NULL   * @next = Return next position after string if !=NULL
  * return: -1 error or size of string    * return: -1 error or size of string 
Line 458  str_getString(const u_char * __restrict data, int dlen Line 490  str_getString(const u_char * __restrict data, int dlen
         if (next)          if (next)
                 *next = (char*) pos + 1;                  *next = (char*) pos + 1;
         return pos - data + 1;          return pos - data + 1;
   }
   
   /*
    * str_getString2() - Get string from data buffer with delimiter
    *
    * @data = Data buffer
    * @dlen = Data length
    * @delim = Data delimiter
    * @next = Return next position after delimited string if !=NULL
    * return: -1 error or size of string 
    */
   int
   str_getString2(char * __restrict data, int dlen, char delim, char ** __restrict next)
   {
           char *pos;
   
           if (!data || !dlen)
                   return -1;
   
           for (pos = data; pos < data + dlen; pos++)
                   if (!*pos || *pos == (u_char) delim) {
                           *pos = 0;
                           break;
                   }
           if (*pos) {
                   elwix_SetErr(ENOEXEC, "Not found null-terminated string");
                   return -1;
           }
   
           if (next)
                   *next = (char*) pos + 1;
           return pos - data;
 }  }

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


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