File poppler-string-compare.patch of Package poppler
Index: poppler-0.12.3/goo/GooString.cc
===================================================================
--- poppler-0.12.3.orig/goo/GooString.cc
+++ poppler-0.12.3/goo/GooString.cc
@@ -686,11 +686,13 @@ GooString *GooString::lowerCase() {
int GooString::cmp(GooString *str) {
int n1, n2, i, x;
- char *p1, *p2;
+ unsigned char *p1, *p2;
n1 = length;
n2 = str->length;
- for (i = 0, p1 = s, p2 = str->s; i < n1 && i < n2; ++i, ++p1, ++p2) {
+ p1 = (unsigned char*)s;
+ p2 = (unsigned char*)str->s;
+ for (i = 0; i < n1 && i < n2; ++i, ++p1, ++p2) {
x = *p1 - *p2;
if (x != 0) {
return x;
@@ -701,12 +703,13 @@ int GooString::cmp(GooString *str) {
int GooString::cmpN(GooString *str, int n) {
int n1, n2, i, x;
- char *p1, *p2;
+ unsigned char *p1, *p2;
n1 = length;
n2 = str->length;
- for (i = 0, p1 = s, p2 = str->s;
- i < n1 && i < n2 && i < n;
+ p1 = (unsigned char*)s;
+ p2 = (unsigned char*)str->s;
+ for (i = 0; i < n1 && i < n2 && i < n;
++i, ++p1, ++p2) {
x = *p1 - *p2;
if (x != 0) {
@@ -721,10 +724,12 @@ int GooString::cmpN(GooString *str, int
int GooString::cmp(const char *sA) {
int n1, i, x;
- const char *p1, *p2;
+ const unsigned char *p1, *p2;
n1 = length;
- for (i = 0, p1 = s, p2 = sA; i < n1 && *p2; ++i, ++p1, ++p2) {
+ p1 = (unsigned char*)s;
+ p2 = (unsigned char*)sA;
+ for (i = 0; i < n1 && *p2; ++i, ++p1, ++p2) {
x = *p1 - *p2;
if (x != 0) {
return x;
@@ -741,10 +746,12 @@ int GooString::cmp(const char *sA) {
int GooString::cmpN(const char *sA, int n) {
int n1, i, x;
- const char *p1, *p2;
+ const unsigned char *p1, *p2;
n1 = length;
- for (i = 0, p1 = s, p2 = sA; i < n1 && *p2 && i < n; ++i, ++p1, ++p2) {
+ p1 = (unsigned char*)s;
+ p2 = (unsigned char*)sA;
+ for (i = 0; i < n1 && *p2 && i < n; ++i, ++p1, ++p2) {
x = *p1 - *p2;
if (x != 0) {
return x;