int noparitylow_strncmp(char *s1, char *s2, int n) { int i; char c1, c2; for (i = 0; i < n; i++) { c1 = clearparity(*s1); c2 = clearparity(*s2); if (c1 != c2) { if (upper_p(c2)) { if (upper_p(c1)) { if (uncapital(c1) != uncapital(c2)) return (uncapital(c1) - uncapital(c2)); } else { if (c1 != uncapital(c2)) return (c1 - uncapital(c2)); } } else if (upper_p(c1)) { if (uncapital(c1) != c2) return (uncapital(c1) - c2); } else return (c1 - c2); } s1++, s2++; } return (0); }
int noparity_strncmp(char *s1, char *s2, int n) { int i; for (i = 0; i < n; i++) { if (clearparity(*s1) != clearparity(*s2)) return (clearparity(*s1) - clearparity(*s2)); s1++, s2++; } return (0); }
char *noparity_strnzcpy(char *s1, char *s2, int n) { int i; for (i = 0; i < n; i++) s1[i] = clearparity(s2[i]); s1[n] = '\0'; return (s1); }
NODE *lascii(NODE *args) { FIXNUM i; NODE *val = UNBOUND, *arg; arg = char_arg(args); if (NOT_THROWING) { if (nodetype(arg) == BACKSLASH_STRING) i = (FIXNUM)(*getstrptr(arg)) & 0377; else i = (FIXNUM)clearparity(*getstrptr(arg)) & 0377; val = make_intnode(i); } return(val); }
char *noparitylow_strnzcpy(char *s1, char *s2, int n) { int i; char c, *temp = s1; for (i = 0; i < n; i++) { c = clearparity(*s2++); if (upper_p(c)) *s1++ = uncapital(c); else *s1++ = c; } *s1 = '\0'; return (temp); }