version 1.126, 2005/10/31 18:21:55
|
version 1.128, 2005/10/31 22:35:04
|
|
|
#include <Pegasus/Common/StatisticalData.h> | #include <Pegasus/Common/StatisticalData.h> |
#include "CommonUTF.h" | #include "CommonUTF.h" |
#include "Buffer.h" | #include "Buffer.h" |
// For a future optimization: |
#include "StrLit.h" |
#define STRLIT(X) X |
|
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
// | // |
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// |
| |
|
// Note: we cannot use StrLit here since it has a constructur (forbits |
|
// structure initialization). |
|
|
struct SpecialChar | struct SpecialChar |
{ | { |
const char* str; | const char* str; |
|
|
// length in bytes. | // length in bytes. |
static const SpecialChar _specialChars[] = | static const SpecialChar _specialChars[] = |
{ | { |
{ "�", 4 }, |
{STRLIT_ARGS("�")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "", 4 }, |
{STRLIT_ARGS("")}, |
{ "	", 4 }, |
{STRLIT_ARGS("	")}, |
{ " ", 5 }, |
{STRLIT_ARGS(" ")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ " ", 5 }, |
{STRLIT_ARGS(" ")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ "", 5 }, |
{STRLIT_ARGS("")}, |
{ " ", 1 }, |
{STRLIT_ARGS(" ")}, |
{ "!", 1 }, |
{STRLIT_ARGS("!")}, |
{ """, 6 }, |
{STRLIT_ARGS(""")}, |
{ "#", 1 }, |
{STRLIT_ARGS("#")}, |
{ "$", 1 }, |
{STRLIT_ARGS("$")}, |
{ "%", 1 }, |
{STRLIT_ARGS("%")}, |
{ "&", 5 }, |
{STRLIT_ARGS("&")}, |
{ "'", 6 }, |
{STRLIT_ARGS("'")}, |
{ "(", 1 }, |
{STRLIT_ARGS("(")}, |
{ ")", 1 }, |
{STRLIT_ARGS(")")}, |
{ "*", 1 }, |
{STRLIT_ARGS("*")}, |
{ "+", 1 }, |
{STRLIT_ARGS("+")}, |
{ ",", 1 }, |
{STRLIT_ARGS(",")}, |
{ "-", 1 }, |
{STRLIT_ARGS("-")}, |
{ ".", 1 }, |
{STRLIT_ARGS(".")}, |
{ "/", 1 }, |
{STRLIT_ARGS("/")}, |
{ "0", 1 }, |
{STRLIT_ARGS("0")}, |
{ "1", 1 }, |
{STRLIT_ARGS("1")}, |
{ "2", 1 }, |
{STRLIT_ARGS("2")}, |
{ "3", 1 }, |
{STRLIT_ARGS("3")}, |
{ "4", 1 }, |
{STRLIT_ARGS("4")}, |
{ "5", 1 }, |
{STRLIT_ARGS("5")}, |
{ "6", 1 }, |
{STRLIT_ARGS("6")}, |
{ "7", 1 }, |
{STRLIT_ARGS("7")}, |
{ "8", 1 }, |
{STRLIT_ARGS("8")}, |
{ "9", 1 }, |
{STRLIT_ARGS("9")}, |
{ ":", 1 }, |
{STRLIT_ARGS(":")}, |
{ ";", 1 }, |
{STRLIT_ARGS(";")}, |
{ "<", 4 }, |
{STRLIT_ARGS("<")}, |
{ "=", 1 }, |
{STRLIT_ARGS("=")}, |
{ ">", 4 }, |
{STRLIT_ARGS(">")}, |
{ "?", 1 }, |
{STRLIT_ARGS("?")}, |
{ "@", 1 }, |
{STRLIT_ARGS("@")}, |
{ "A", 1 }, |
{STRLIT_ARGS("A")}, |
{ "B", 1 }, |
{STRLIT_ARGS("B")}, |
{ "C", 1 }, |
{STRLIT_ARGS("C")}, |
{ "D", 1 }, |
{STRLIT_ARGS("D")}, |
{ "E", 1 }, |
{STRLIT_ARGS("E")}, |
{ "F", 1 }, |
{STRLIT_ARGS("F")}, |
{ "G", 1 }, |
{STRLIT_ARGS("G")}, |
{ "H", 1 }, |
{STRLIT_ARGS("H")}, |
{ "I", 1 }, |
{STRLIT_ARGS("I")}, |
{ "J", 1 }, |
{STRLIT_ARGS("J")}, |
{ "K", 1 }, |
{STRLIT_ARGS("K")}, |
{ "L", 1 }, |
{STRLIT_ARGS("L")}, |
{ "M", 1 }, |
{STRLIT_ARGS("M")}, |
{ "N", 1 }, |
{STRLIT_ARGS("N")}, |
{ "O", 1 }, |
{STRLIT_ARGS("O")}, |
{ "P", 1 }, |
{STRLIT_ARGS("P")}, |
{ "Q", 1 }, |
{STRLIT_ARGS("Q")}, |
{ "R", 1 }, |
{STRLIT_ARGS("R")}, |
{ "S", 1 }, |
{STRLIT_ARGS("S")}, |
{ "T", 1 }, |
{STRLIT_ARGS("T")}, |
{ "U", 1 }, |
{STRLIT_ARGS("U")}, |
{ "V", 1 }, |
{STRLIT_ARGS("V")}, |
{ "W", 1 }, |
{STRLIT_ARGS("W")}, |
{ "X", 1 }, |
{STRLIT_ARGS("X")}, |
{ "Y", 1 }, |
{STRLIT_ARGS("Y")}, |
{ "Z", 1 }, |
{STRLIT_ARGS("Z")}, |
{ "[", 1 }, |
{STRLIT_ARGS("[")}, |
{ "\\", 1 }, |
{STRLIT_ARGS("\\")}, |
{ "]", 1 }, |
{STRLIT_ARGS("]")}, |
{ "^", 1 }, |
{STRLIT_ARGS("^")}, |
{ "_", 1 }, |
{STRLIT_ARGS("_")}, |
{ "`", 1 }, |
{STRLIT_ARGS("`")}, |
{ "a", 1 }, |
{STRLIT_ARGS("a")}, |
{ "b", 1 }, |
{STRLIT_ARGS("b")}, |
{ "c", 1 }, |
{STRLIT_ARGS("c")}, |
{ "d", 1 }, |
{STRLIT_ARGS("d")}, |
{ "e", 1 }, |
{STRLIT_ARGS("e")}, |
{ "f", 1 }, |
{STRLIT_ARGS("f")}, |
{ "g", 1 }, |
{STRLIT_ARGS("g")}, |
{ "h", 1 }, |
{STRLIT_ARGS("h")}, |
{ "i", 1 }, |
{STRLIT_ARGS("i")}, |
{ "j", 1 }, |
{STRLIT_ARGS("j")}, |
{ "k", 1 }, |
{STRLIT_ARGS("k")}, |
{ "l", 1 }, |
{STRLIT_ARGS("l")}, |
{ "m", 1 }, |
{STRLIT_ARGS("m")}, |
{ "n", 1 }, |
{STRLIT_ARGS("n")}, |
{ "o", 1 }, |
{STRLIT_ARGS("o")}, |
{ "p", 1 }, |
{STRLIT_ARGS("p")}, |
{ "q", 1 }, |
{STRLIT_ARGS("q")}, |
{ "r", 1 }, |
{STRLIT_ARGS("r")}, |
{ "s", 1 }, |
{STRLIT_ARGS("s")}, |
{ "t", 1 }, |
{STRLIT_ARGS("t")}, |
{ "u", 1 }, |
{STRLIT_ARGS("u")}, |
{ "v", 1 }, |
{STRLIT_ARGS("v")}, |
{ "w", 1 }, |
{STRLIT_ARGS("w")}, |
{ "x", 1 }, |
{STRLIT_ARGS("x")}, |
{ "y", 1 }, |
{STRLIT_ARGS("y")}, |
{ "z", 1 }, |
{STRLIT_ARGS("z")}, |
{ "{", 1 }, |
{STRLIT_ARGS("{")}, |
{ "|", 1 }, |
{STRLIT_ARGS("|")}, |
{ "}", 1 }, |
{STRLIT_ARGS("}")}, |
{ "~", 1 }, |
{STRLIT_ARGS("~")}, |
{ "", 6 }, |
{STRLIT_ARGS("")}, |
}; | }; |
| |
// If _isSpecialChar7[ch] is true, then ch is a special character, which must | // If _isSpecialChar7[ch] is true, then ch is a special character, which must |
|
|
| |
char* nameSpaceCopy = strdup(nameSpace.getString().getCString()); | char* nameSpaceCopy = strdup(nameSpace.getString().getCString()); |
| |
#if defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC) || \ |
#if !defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC) |
defined(PEGASUS_OS_HPUX) || \ |
|
defined(PEGASUS_OS_LINUX) |
|
char *last; | char *last; |
for (const char* p = strtok_r(nameSpaceCopy, "/", &last); p; | for (const char* p = strtok_r(nameSpaceCopy, "/", &last); p; |
p = strtok_r(NULL, "/", &last)) | p = strtok_r(NULL, "/", &last)) |