void rjs_op_lesseq_string_string(rvmcpu_t *cpu, ruint16 opid, rvmreg_t *res, const rvmreg_t *arg1, const rvmreg_t *arg2) { ruword r; rstring_t *s1 = (rstring_t *)RVM_REG_GETP(arg1); rstring_t *s2 = (rstring_t *)RVM_REG_GETP(arg2); r = (r_strncmp(s1->s.str, s2->s.str, R_MIN(s1->s.size, s2->s.size)) <= 0) ? 1 : 0; rvm_reg_setboolean(res, r); RVM_STATUS_UPDATE(cpu, RVM_STATUS_Z, !r); }
void rjs_op_noteq_string_string(rvmcpu_t *cpu, ruint16 opid, rvmreg_t *res, const rvmreg_t *arg1, const rvmreg_t *arg2) { ruword r; rstring_t *s1 = (rstring_t *)RVM_REG_GETP(arg1); rstring_t *s2 = (rstring_t *)RVM_REG_GETP(arg2); r = (s1->s.size == s2->s.size && r_strncmp(s1->s.str, s2->s.str, s1->s.size) == 0) ? 0 : 1; rvm_reg_setboolean(res, r); RVM_STATUS_UPDATE(cpu, RVM_STATUS_Z, !r); }
const rchar * r_asn1_x500_name_to_oid (const rchar * name, rsize size) { rsize i; for (i = 0; i < R_N_ELEMENTS (x500_attr_table); i++) { if (size == x500_attr_table[i].namesize && r_strncmp (x500_attr_table[i].name, name, size) == 0) return x500_attr_table[i].oid; } return NULL; }
static rboolean r_map_rstrequal(rstr_t *key1, rstr_t *key2) { return (key1->size == key2->size && r_strncmp((const char*)key1->str, (const char*)key2->str, key1->size) == 0) ? TRUE : FALSE; }