X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=pdf2swf%2Fxpdf%2FGString.cc;h=3bf626aa41e99321d12da3c07b13e11b35daad7e;hb=50dd339d3d6262763616efe8d7ee415ab19befb9;hp=7b8f271840752d8252cfcd355faccc7028881b25;hpb=33b4efceb35f7582426665aba920fd950edc0602;p=swftools.git diff --git a/pdf2swf/xpdf/GString.cc b/pdf2swf/xpdf/GString.cc index 7b8f271..3bf626a 100644 --- a/pdf2swf/xpdf/GString.cc +++ b/pdf2swf/xpdf/GString.cc @@ -4,7 +4,7 @@ // // Simple variable-length string type. // -// Copyright 1996 Derek B. Noonburg +// Copyright 1996-2002 Glyph & Cog, LLC // //======================================================================== @@ -12,6 +12,7 @@ #pragma implementation #endif +#include #include #include #include @@ -45,18 +46,25 @@ GString::GString() { s[0] = '\0'; } -GString::GString(const char *s1) { - int n = strlen(s1); +GString::GString(const char *sA) { + int n = strlen(sA); s = NULL; resize(length = n); - memcpy(s, s1, n + 1); + memcpy(s, sA, n + 1); } -GString::GString(const char *s1, int length1) { +GString::GString(const char *sA, int lengthA) { s = NULL; - resize(length = length1); - memcpy(s, s1, length * sizeof(char)); + resize(length = lengthA); + memcpy(s, sA, length * sizeof(char)); + s[length] = '\0'; +} + +GString::GString(GString *str, int idx, int lengthA) { + s = NULL; + resize(length = lengthA); + memcpy(s, str->getCString() + idx, length); s[length] = '\0'; } @@ -137,10 +145,10 @@ GString *GString::append(const char *str) { return this; } -GString *GString::append(const char *str, int length1) { - resize(length + length1); - memcpy(s + length, str, length1); - length += length1; +GString *GString::append(const char *str, int lengthA) { + resize(length + lengthA); + memcpy(s + length, str, lengthA); + length += lengthA; s[length] = '\0'; return this; } @@ -180,14 +188,14 @@ GString *GString::insert(int i, const char *str) { return this; } -GString *GString::insert(int i, const char *str, int length1) { +GString *GString::insert(int i, const char *str, int lengthA) { int j; - resize(length + length1); + resize(length + lengthA); for (j = length; j >= i; --j) - s[j+length1] = s[j]; - memcpy(s+i, str, length1); - length += length1; + s[j+lengthA] = s[j]; + memcpy(s+i, str, lengthA); + length += lengthA; return this; }