Diff for /libaitio/src/Attic/tools.c between versions 1.2 and 1.3

version 1.2, 2010/04/16 13:25:27 version 1.3, 2010/09/10 12:39:41
Line 15 Line 15
  * @psLine = Text string   * @psLine = Text string
  * return: 0 nothing to do; !=0 Removed bytes   * return: 0 nothing to do; !=0 Removed bytes
 */  */
inline int io_LTrimStr(u_char *psLine)inline int io_LTrimStr(u_char * __restrict psLine)
 {  {
         int pos = 0;          int pos = 0;
         u_char *s;          u_char *s;
Line 35  inline int io_LTrimStr(u_char *psLine) Line 35  inline int io_LTrimStr(u_char *psLine)
  * @psLine = Text string   * @psLine = Text string
  * return: 0 nothing to do; !=0 Removed bytes   * return: 0 nothing to do; !=0 Removed bytes
 */  */
inline int io_RTrimStr(u_char *psLine)inline int io_RTrimStr(u_char * __restrict psLine)
 {  {
         u_char *t, *pos;          u_char *t, *pos;
   
Line 54  inline int io_RTrimStr(u_char *psLine) Line 54  inline int io_RTrimStr(u_char *psLine)
  * @psLine = Text string   * @psLine = Text string
  * return: 0 nothing to do; !=0 Removed bytes   * return: 0 nothing to do; !=0 Removed bytes
 */  */
inline int io_TrimStr(u_char *psLine)inline int io_TrimStr(u_char * __restrict psLine)
 {  {
         int ret = 0;          int ret = 0;
   
Line 69  inline int io_TrimStr(u_char *psLine) Line 69  inline int io_TrimStr(u_char *psLine)
  * @psLine = Text string   * @psLine = Text string
  * return: 0 nothing to do; 1 successful unquoted string   * return: 0 nothing to do; 1 successful unquoted string
 */  */
inline int io_UnquotStr(u_char *psLine)inline int io_UnquotStr(u_char * __restrict psLine)
 {  {
         char *pos, *str = NULL;          char *pos, *str = NULL;
         int flg;          int flg;
Line 97  inline int io_UnquotStr(u_char *psLine) Line 97  inline int io_UnquotStr(u_char *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  
changed lines
  Added in v.1.3


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