summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/goo/GooString.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/goo/GooString.cc')
-rw-r--r--Build/source/libs/poppler/poppler-src/goo/GooString.cc48
1 files changed, 9 insertions, 39 deletions
diff --git a/Build/source/libs/poppler/poppler-src/goo/GooString.cc b/Build/source/libs/poppler/poppler-src/goo/GooString.cc
index 12592e4902f..e23c2b76d6b 100644
--- a/Build/source/libs/poppler/poppler-src/goo/GooString.cc
+++ b/Build/source/libs/poppler/poppler-src/goo/GooString.cc
@@ -18,10 +18,10 @@
// Copyright (C) 2006 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2007 Jeff Muizelaar <jeff@infidigm.net>
-// Copyright (C) 2008-2011, 2016 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008-2011, 2016, 2017 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2011 Kenji Uno <ku@digitaldolphins.jp>
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
-// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2012, 2017 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Pino Toscano <pino@kde.org>
// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
// Copyright (C) 2015 William Bader <williambader@hotmail.com>
@@ -56,12 +56,8 @@ union GooStringFormatArg {
Guint ui;
long l;
Gulong ul;
-#ifdef LLONG_MAX
long long ll;
-#endif
-#ifdef ULLONG_MAX
unsigned long long ull;
-#endif
double f;
char c;
char *s;
@@ -89,20 +85,16 @@ enum GooStringFormatType {
fmtULongHexUpper,
fmtULongOctal,
fmtULongBinary,
-#ifdef LLONG_MAX
fmtLongLongDecimal,
fmtLongLongHex,
fmtLongLongHexUpper,
fmtLongLongOctal,
fmtLongLongBinary,
-#endif
-#ifdef ULLONG_MAX
fmtULongLongDecimal,
fmtULongLongHex,
fmtULongLongHexUpper,
fmtULongLongOctal,
fmtULongLongBinary,
-#endif
fmtDouble,
fmtDoubleTrimSmallAware,
fmtDoubleTrim,
@@ -115,12 +107,8 @@ enum GooStringFormatType {
static const char *formatStrings[] = {
"d", "x", "X", "o", "b", "ud", "ux", "uX", "uo", "ub",
"ld", "lx", "lX", "lo", "lb", "uld", "ulx", "ulX", "ulo", "ulb",
-#ifdef LLONG_MAX
"lld", "llx", "llX", "llo", "llb",
-#endif
-#ifdef ULLONG_MAX
"ulld", "ullx", "ullX", "ullo", "ullb",
-#endif
"f", "gs", "g",
"c",
"s",
@@ -424,7 +412,6 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
case fmtULongBinary:
args[argsLen].ul = va_arg(argList, Gulong);
break;
-#ifdef LLONG_MAX
case fmtLongLongDecimal:
case fmtLongLongHex:
case fmtLongLongHexUpper:
@@ -432,8 +419,6 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
case fmtLongLongBinary:
args[argsLen].ll = va_arg(argList, long long);
break;
-#endif
-#ifdef ULLONG_MAX
case fmtULongLongDecimal:
case fmtULongLongHex:
case fmtULongLongHexUpper:
@@ -441,7 +426,6 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
case fmtULongLongBinary:
args[argsLen].ull = va_arg(argList, unsigned long long);
break;
-#endif
case fmtDouble:
case fmtDoubleTrim:
case fmtDoubleTrimSmallAware:
@@ -531,7 +515,6 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
case fmtULongBinary:
formatUInt(arg.ul, buf, sizeof(buf), zeroFill, width, 2, &str, &len);
break;
-#ifdef LLONG_MAX
case fmtLongLongDecimal:
formatInt(arg.ll, buf, sizeof(buf), zeroFill, width, 10, &str, &len);
break;
@@ -548,8 +531,6 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
case fmtLongLongBinary:
formatInt(arg.ll, buf, sizeof(buf), zeroFill, width, 2, &str, &len);
break;
-#endif
-#ifdef ULLONG_MAX
case fmtULongLongDecimal:
formatUInt(arg.ull, buf, sizeof(buf), zeroFill, width, 10,
&str, &len);
@@ -570,7 +551,6 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
formatUInt(arg.ull, buf, sizeof(buf), zeroFill, width, 2,
&str, &len);
break;
-#endif
case fmtDouble:
formatDouble(arg.f, buf, sizeof(buf), prec, gFalse, &str, &len);
break;
@@ -641,23 +621,13 @@ GooString *GooString::appendfv(const char *fmt, va_list argList) {
static const char lowerCaseDigits[17] = "0123456789abcdef";
static const char upperCaseDigits[17] = "0123456789ABCDEF";
-#ifdef LLONG_MAX
void GooString::formatInt(long long x, char *buf, int bufSize,
GBool zeroFill, int width, int base,
char **p, int *len, GBool upperCase) {
-#else
-void GooString::formatInt(long x, char *buf, int bufSize,
- GBool zeroFill, int width, int base,
- char **p, int *len, GBool upperCase) {
-#endif
const char *vals = upperCase ? upperCaseDigits : lowerCaseDigits;
GBool neg;
int start, i, j;
-#ifdef LLONG_MAX
unsigned long long abs_x;
-#else
- unsigned long abs_x;
-#endif
i = bufSize;
if ((neg = x < 0)) {
@@ -686,15 +656,9 @@ void GooString::formatInt(long x, char *buf, int bufSize,
*len = bufSize - i;
}
-#ifdef ULLONG_MAX
void GooString::formatUInt(unsigned long long x, char *buf, int bufSize,
GBool zeroFill, int width, int base,
char **p, int *len, GBool upperCase) {
-#else
-void GooString::formatUInt(Gulong x, char *buf, int bufSize,
- GBool zeroFill, int width, int base,
- char **p, int *len, GBool upperCase) {
-#endif
const char *vals = upperCase ? upperCaseDigits : lowerCaseDigits;
int i, j;
@@ -917,7 +881,13 @@ GBool GooString::hasUnicodeMarker(void) const
return length > 1 && (s[0] & 0xff) == 0xfe && (s[1] & 0xff) == 0xff;
}
-GooString *GooString::sanitizedName(GBool psmode)
+void GooString::prependUnicodeMarker()
+{
+ insert(0, (char)0xff);
+ insert(0, (char)0xfe);
+}
+
+GooString *GooString::sanitizedName(GBool psmode) const
{
GooString *name;
char buf[8];