Fix str_to_buf problem, thanks Andy Chenee
authormlu <mlu@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 22 Apr 2009 10:09:15 +0000 (10:09 +0000)
committermlu <mlu@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 22 Apr 2009 10:09:15 +0000 (10:09 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1505 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/helper/binarybuffer.c

index a8be403cd5319b6de1cc91755207169710307967..405e1011dd686df3220b99b7d7c747fb3abc1b4b 100644 (file)
@@ -244,7 +244,7 @@ char* buf_to_str(const u8 *buf, int buf_len, int radix)
 int str_to_buf(const char *str, int str_len, u8 *buf, int buf_len, int radix)
 {
        char *charbuf;
-       char tmp;
+       u32 tmp;
        float factor;
        u8 *b256_buf;
        int b256_len;
@@ -303,7 +303,7 @@ int str_to_buf(const char *str, int str_len, u8 *buf, int buf_len, int radix)
                        tmp = (tmp - 'A' + 10);
                else continue;  /* skip characters other than [0-9,a-f,A-F] */
 
-               if (tmp >= radix)
+               if (tmp >= (u32)radix)
                        continue;       /* skip digits invalid for the current radix */
 
                for (j = 0; j < b256_len; j++)