home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / flistfrontend / src / strabbr.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-19  |  961 b   |  46 lines

  1. #ifndef NO_IDENT
  2. static char *Id = "$Id: strabbr.c,v 1.3 1995/02/19 02:15:01 tom Exp $";
  3. #endif
  4.  
  5. /*
  6.  * Title:    strabbr.c
  7.  * Author:    Thomas E. Dickey
  8.  * Created:    11 Jul 1984
  9.  * Last update:
  10.  *        18 Feb 1995, prototyped
  11.  *        01 Sep 1984, use '_toupper'
  12.  *
  13.  * Function:    Compare two strings, ignoring case, to see if the first is
  14.  *        an allowable abbreviation of the second.
  15.  *
  16.  * Parameters:    tst_    => string to test
  17.  *        ref_    => string to use as a reference
  18.  *        cmplen    =  length of 'tst_' to compare (should be determined
  19.  *               by either 'strlen', or delimiter).
  20.  *        abbr    =  minimum match length needed for legal abbreviation
  21.  *
  22.  * Returns:    TRUE if the strings are matched.
  23.  */
  24.  
  25. #include    <ctype.h>
  26.  
  27. #include    "strutils.h"
  28.  
  29. int
  30. strabbr (
  31.     char    *tst_,
  32.     char    *ref_,
  33.     int    cmplen,
  34.     int    abbr)
  35. {
  36.     while (*tst_ && *ref_ && (cmplen > 0))
  37.     {
  38.         if (_toupper(*tst_) != _toupper(*ref_))    break;
  39.         tst_++;
  40.         ref_++;
  41.         cmplen--;
  42.         abbr--;
  43.     }
  44.     return ((abbr <= 0) && (cmplen <= 0));
  45. }
  46.