/*
* Copyright 1995, 1996 Perforce Software. All rights reserved.
*
* This file is part of Perforce - the FAST SCM System.
*/
# include <stdhdrs.h>
# include <strbuf.h>
# include "mapchar.h"
static const char *const mapCharNames[] = {
"0",
"c",
"/",
"%",
"*",
"."
} ;
int
MapChar::Set( char *&p, int &nStars, int &nDots )
{
this->c = *p;
if( c == '/' )
{
cc = cSLASH;
++p;
}
else if( c == '.' && p[1] == '.' && p[2] == '.' )
{
cc = cDOTS;
paramNumber = PARAM_BASE_DOTS + nDots++;
p += 3;
}
else if( c == '%' && p[1] == '%' && p[2] >= '0' && p[2] <= '9' )
{
cc = cPERC;
paramNumber = PARAM_BASE_PERCENT + ( p[2] - '0' );
p += 3;
}
else if( c == '*' )
{
cc = cSTAR;
paramNumber = PARAM_BASE_STARS + nStars++;
++p;
}
else if( c == '\0' )
{
cc = cEOS;
return 0;
}
else
{
cc = cCHAR;
++p;
}
return 1;
}
void
MapChar::MakeParam( StrBuf &p, MapChar *mc2, int &wildSlot )
{
if( cc == cDOTS && mc2->cc == cDOTS )
{
p << "...";
}
else
{
p << "%%" << ++wildSlot;
}
}
const char *
MapChar::Name()
{
return mapCharNames[ cc ];
}
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 14945 | Newtopian |
Merging //guest/perforce_software/p4/... to //guest/Newtopian/p4/... |
||
| //guest/perforce_software/p4/2014.1/dbsupp/mapchar.cc | |||||
| #1 | 12188 | Matt Attaway | Move 'main' p4 into a release specific directory in prep for new releases | ||
| //guest/perforce_software/p4/dbsupp/mapchar.cc | |||||
| #1 | 9129 | Matt Attaway | Initial commit of the 2014.1 p4/p4api source code | ||