Diff for /libaitio/src/Attic/tools.c between versions 1.2.2.1 and 1.2.2.2

version 1.2.2.1, 2010/04/16 13:37:25 version 1.2.2.2, 2010/07/13 13:52:10
Line 97  inline int io_UnquotStr(u_char * __restrict psLine) Line 97  inline int io_UnquotStr(u_char * __restrict psLine)
 }  }
   
 /*  /*
 * io_Char2Hex() Convert from Char string to Hex string * io_Ch2Hex() Convert from Char string to Hex string
  * @psLine = Text string   * @psLine = Text string
  * @lineLen = Length of Text string   * @lineLen = Length of Text string
 * return: NULL nothing to do or error; !=0 Allocated new converted string(must be free) * return: NULL nothing to do or error; !=0 Allocated new converted data without term\0 (must be free)
 */  */
inline char *io_Char2Hex(u_char *psLine, int lineLen)inline u_char *io_Ch2Hex(u_char *psLine, int lineLen)
 {  {
         register int i;          register int i;
        char szWork[3], *str;        char szWork[3];
         u_char *str;
   
         if (!psLine || !*psLine || !lineLen)          if (!psLine || !*psLine || !lineLen)
                 return NULL;                  return NULL;
   
        str = malloc(lineLen * 2 + 1);        str = malloc(lineLen / 2);
         if (!str) {          if (!str) {
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
         } else          } else
                memset(str, 0, lineLen * 2 + 1);                memset(str, 0, lineLen / 2);
   
        for (i = 0; i < lineLen && psLine[i]; i++) {        for (i = 0; i < lineLen && psLine[i * 2]; i++) {
                memset(szWork, 0, 3);                strlcpy(szWork, (char*) &psLine[i * 2], 3);
                snprintf(szWork, 3, "%02X", (u_char) psLine[i]);                str[i] = (u_char) strtol(szWork, NULL, 16);
                strncat(str, szWork, 2); 
         }          }
   
         return str;          return str;
Line 128  inline char *io_Char2Hex(u_char *psLine, int lineLen) Line 128  inline char *io_Char2Hex(u_char *psLine, int lineLen)
   
   
 /*  /*
 * io_Hex2Char() Convert from Hex string to Char string * io_Hex2Ch() Convert from Hex string to Char string
  * @psLine = Text string   * @psLine = Text string
  * @lineLen = Length of Text string   * @lineLen = Length of Text string
  * return: NULL nothing to do or error; !=0 Allocated new converted string(must be free)   * return: NULL nothing to do or error; !=0 Allocated new converted string(must be free)
 */  */
inline char *io_Hex2Char(u_char *psLine, int lineLen)inline char *io_Hex2Ch(u_char *psLine, int lineLen)
 {  {
         register int i;          register int i;
         char szWork[3], *str;          char szWork[3], *str;
Line 141  inline char *io_Hex2Char(u_char *psLine, int lineLen) Line 141  inline char *io_Hex2Char(u_char *psLine, int lineLen)
         if (!psLine || !*psLine || !lineLen)          if (!psLine || !*psLine || !lineLen)
                 return NULL;                  return NULL;
   
        str = malloc(lineLen / 2 + 1);        str = malloc(lineLen * 2 + 1);
         if (!str) {          if (!str) {
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
         } else          } else
                memset(str, 0, lineLen / 2 + 1);                memset(str, 0, lineLen * 2 + 1);
   
        for (i = 0; i < lineLen && psLine[i * 2]; i++) {        for (i = 0; i <= lineLen; i++) {
                strlcpy(szWork, (char*) &psLine[i * 2], 3);                memset(szWork, 0, 3);
                str[i] = (char) strtol(szWork, NULL, 16);                snprintf(szWork, 3, "%02X", (u_char) psLine[i]);
                 strncat(str, szWork, 2);
         }          }
   
         return str;          return str;

Removed from v.1.2.2.1  
changed lines
  Added in v.1.2.2.2


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