The StrMatch function
This commit is contained in:
96
hardsup/StrMatch.c
Executable file
96
hardsup/StrMatch.c
Executable file
@ -0,0 +1,96 @@
|
||||
#define ident "1A01"
|
||||
#ifdef VAXC
|
||||
#module StrMatch ident
|
||||
#endif
|
||||
#ifdef __DECC
|
||||
#pragma module StrMatch ident
|
||||
#endif
|
||||
/*
|
||||
** +--------------------------------------------------------------+
|
||||
** | Paul Scherrer Institute |
|
||||
** | Department ASQ |
|
||||
** | |
|
||||
** | This software may be used freely by non-profit organizations.|
|
||||
** | It may be copied provided that the name of P.S.I. and of the |
|
||||
** | author is included. Neither P.S.I. nor the author assume any |
|
||||
** | responsibility for the use of this software outside of P.S.I.|
|
||||
** +--------------------------------------------------------------+
|
||||
**
|
||||
** Module Name . . . . . . . . : [...LIB.SINQ]StrMatch.C
|
||||
**
|
||||
** Author . . . . . . . . . . : D. Maden
|
||||
** Date of creation . . . . . . : Nov 1999
|
||||
**
|
||||
** To compile this module, use:
|
||||
|
||||
$ import tasmad
|
||||
$ define/group sinq_c_tlb mad_lib:sinq_c.tlb
|
||||
$ cc /debug /noopt /obj=[]StrMatch -
|
||||
tasmad_disk:[mad.lib.sinq]StrMatch +
|
||||
sinq_c_tlb/lib
|
||||
|
||||
** To include this module in SINQ.OLB, use:
|
||||
|
||||
$ import tasmad
|
||||
$ define/group sinq_c_tlb mad_lib:sinq_c.tlb
|
||||
$
|
||||
$ define/group sinq_olb mad_lib:sinq_dbg.olb
|
||||
$ @tasmad_disk:[mad.lib.sinq]sinq_olb StrMatch debug
|
||||
$
|
||||
$ define/group sinq_olb mad_lib:sinq.olb
|
||||
$ @tasmad_disk:[mad.lib.sinq]sinq_olb StrMatch
|
||||
**
|
||||
** Updates:
|
||||
** 1A01 12-Nov-1999 DM. Initial version.
|
||||
**============================================================================
|
||||
** The following entry points are included in this module:
|
||||
**
|
||||
**-------------------------------------------------------------------------
|
||||
** #include <sinq_prototypes.h>
|
||||
**
|
||||
** char *StrMatch (&str_a, &str_b, min_len)
|
||||
** -------
|
||||
** Input Args:
|
||||
** char *str_a - Pointer to first string to be compared.
|
||||
** char *str_b - Pointer to second string to be compared.
|
||||
** int min_len - The minimum allowed match length.
|
||||
** Output Args:
|
||||
** none
|
||||
** Modified Args:
|
||||
** none
|
||||
** Return value:
|
||||
** True (non-zero) if the 2 strings match.
|
||||
** Global variables modified:
|
||||
** none
|
||||
** Routines called:
|
||||
** None
|
||||
** Description:
|
||||
** The routine compares 2 strings, str_a and str_b, ignoring case.
|
||||
** The length of str_a must be less than or equal to the length of str_b.
|
||||
** The length of str_a must be at least min_len.
|
||||
**-------------------------------------------------------------------------
|
||||
** Global Definitions
|
||||
*/
|
||||
#include <ctype.h>
|
||||
|
||||
#define NIL '\0'
|
||||
/*
|
||||
**====================================================================
|
||||
*/
|
||||
/*
|
||||
**====================================================================
|
||||
** StrMatch - compare two strings.
|
||||
*/
|
||||
int StrMatch (
|
||||
/* ========
|
||||
*/ char *str_a,
|
||||
char *str_b,
|
||||
int min_len) {
|
||||
|
||||
int i = 0;
|
||||
|
||||
while ((tolower(str_a[i]) == tolower(str_b[i])) && (str_a[i] != '\0')) i++;
|
||||
|
||||
return ((str_a[i] == '\0') && (i >= min_len));
|
||||
}
|
||||
/*-------------------------------------------------- End of StrMatch.C =======*/
|
Reference in New Issue
Block a user