Ticket #3589: hex.patch

File hex.patch, 1.2 KB (added by phelum, 8 years ago)
  • hex.c

    old new  
    7373 
    7474    while (loop < tmp_str_len) 
    7575    { 
    76         unsigned int    val; 
    77         int             ptr; 
     76        int val, ptr; 
    7877 
    7978        /* cppcheck-suppress invalidscanf */ 
    8079        if (sscanf (tmp_str + loop, "%x%n", &val, &ptr)) 
    8180        { 
    82             if (val > 255) 
     81            if (val < -128 || val > 255) 
    8382                loop++; 
    8483            else 
    8584            { 
     
    10099                loop2++; 
    101100            } 
    102101 
    103 //          g_string_append_len (buff, tmp_str + loop, loop2 - 1); 
    104 //          loop += loop2; 
    105             g_string_append_len (buff, tmp_str + loop, loop2); 
    106             loop += loop2 + 1; 
     102            g_string_append_len (buff, tmp_str + loop, loop2 - 1); 
     103            loop += loop2; 
    107104        } 
    108105        else 
    109106            loop++; 
     
    126123    tmp = mc_search__hex_translate_to_regex (mc_search_cond->str); 
    127124    g_string_free (mc_search_cond->str, TRUE); 
    128125    mc_search_cond->str = tmp; 
    129     lc_mc_search->is_case_sensitive = TRUE;                 // always case-sensitive here 
    130126 
    131127    mc_search__cond_struct_new_init_regex (charset, lc_mc_search, mc_search_cond); 
    132128}