home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / xbase / library / clipper / rettig / source / _tr_scmp.c < prev    next >
C/C++ Source or Header  |  1990-10-21  |  1KB  |  50 lines

  1. /*********
  2. *
  3. *  _TR_SCMP.C
  4. *
  5. *  by Ralph Davis
  6. *  modified by Tom Rettig
  7. *
  8. * Placed in the public domain by Tom Rettig Associates, 10/22/1990.
  9. *
  10. *  Syntax: _tr_strcmp(cp1, cp2)
  11. *  Return: int < 0 if cp1 < cp2, 0 if equal, > 0 if cp1 > cp2
  12. ********/
  13.  
  14. #include "trlib.h"
  15.  
  16. _tr_strcmp(str1, str2)
  17. char *str1;
  18. char *str2;
  19. {
  20.    int i, ret;
  21.    for (i = 0; str1[i] == str2[i] && (str1[i] | str2[i]); i++)
  22.        ;
  23.    if ((str1[i] | str2[i]) == 0)   /* Are they both '\0'? */
  24.       return (0);
  25.    else
  26.       return ( ret = str1[i] - str2[i] );
  27. }
  28.  
  29. /********
  30. * Syntax: _tr_strncmp(cp1, cp2, length)
  31. * Return: int < 0 if cp1 < cp2, 0 if equal, > 0 if cp1 > cp2
  32. * Note  : 
  33. ********/
  34.  
  35. _tr_strncmp(str1, str2, length)
  36. char *str1;
  37. char *str2;
  38. int length;
  39. {
  40.    int i, ret;
  41.    for (i = 0; (str1[i] == str2[i]) && (str1[i] | str2[i]) && (i < length); i++)
  42.        ;
  43.    if ( ((str1[i] | str2[i]) == 0) || (i == length) )
  44.       return (0);
  45.    else if (str1[i] == NULLC && str2[i])
  46.       return (-1);
  47.    else
  48.       return ( ret = str1[i] - str2[i] );
  49. }
  50.