/* * Copyright 1995, 1996 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ # include # include # include # include "mapchar.h" const char *const MapChar::mapCharNames[] = { "0", "c", "/", "%", "*", "." } ; int MapChar::operator -( char oc ) { return caseMode == 0 ? c - oc : caseMode == 1 ? c == oc ? 0 : tolowerq( c ) - tolowerq( oc ) : StrPtr::SCompare( c, oc ); } int MapChar::operator ==( char oc ) { if( caseMode == 0 || caseMode == 1 ) { switch( c^oc ) { default: return 0; case 0: return 1; case 'A'^'a': return caseMode == 0 ? c == oc : tolowerq( c ) == tolowerq( oc ); } } return StrPtr::SEqual( c, oc ); }