Files
sicspsi/hardsup/StrMatch.c
2009-02-13 09:01:24 +00:00

99 lines
2.9 KiB
C
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 =======*/