Пример #1
0
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);
   }
Пример #2
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);
   }
Пример #3
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);
}
Пример #5
0
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);
   }