Ticket #388: patch.patch

File patch.patch, 1.0 KB (added by jimmy, 13 years ago)
  • src/packout.c

     
    219219{ 
    220220    ASSERT_ARGS(PackFile_find_in_const) 
    221221    int i; 
    222     STRING *s; 
    223     for (i = 0; i < ct->const_count; i++) { 
     222    for (i = 0; i < ct->const_count; i++) 
     223        STRING *s; 
    224224        GETATTR_Key_str_key(interp, key, s); 
    225         if (type == PFC_STRING && ct->constants[i]->u.string == s) 
     225 
     226        if ((type == PFC_STRING 
     227            && Parrot_str_equal(interp, ct->constants[i]->u.string,  
     228                VTABLE_get_string(interp, key))) 
     229        || (type == PFC_NUMBER 
     230            && ct->constants[i]->u.number == VTABLE_get_integer(interp, key))) 
    226231            return i; 
    227         else if (type == PFC_NUMBER && ct->constants[i]->u.number == 
    228                  VTABLE_get_integer(interp, key)) 
    229             return i; 
    230232    } 
    231233    Parrot_io_eprintf(NULL, "find_in_const: couldn't find const for key\n"); 
    232234    Parrot_exit(interp, 1);