summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-12-27 00:51:59 +0100
committerJulian Andres Klode <jak@debian.org>2015-12-27 01:20:41 +0100
commit74dedb4ae28fd4f7c89bf769708d4f7edc7ed79a (patch)
treea1d8539a50180611afcd34fac1e597aaf286cd19
parent98b063439156595f74c89e923bf4d3fd51a3b36f (diff)
Convert most callers of isspace() to isspace_ascii()
This converts all callers that read machine-generated data, callers that might work with user input are not converted.
-rw-r--r--apt-pkg/contrib/strutl.cc4
-rw-r--r--apt-pkg/deb/deblistparser.cc32
-rw-r--r--apt-pkg/deb/debsrcrecords.cc6
-rw-r--r--apt-pkg/deb/debsystem.cc4
-rw-r--r--apt-pkg/tagfile.cc18
-rw-r--r--methods/https.cc2
-rw-r--r--methods/rred.cc3
-rw-r--r--methods/server.cc2
8 files changed, 37 insertions, 34 deletions
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index 392412e52..de049602f 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -690,9 +690,9 @@ string LookupTag(const string &Message,const char *Tag,const char *Default)
// Find the end of line and strip the leading/trailing spaces
string::const_iterator J;
I += Length + 1;
- for (; isspace(*I) != 0 && I < Message.end(); ++I);
+ for (; isspace_ascii(*I) != 0 && I < Message.end(); ++I);
for (J = I; *J != '\n' && J < Message.end(); ++J);
- for (; J > I && isspace(J[-1]) != 0; --J);
+ for (; J > I && isspace_ascii(J[-1]) != 0; --J);
return string(I,J);
}
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index bf9bc75ec..f3ab9d5d8 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -353,7 +353,7 @@ unsigned short debListParser::VersionHash()
char *J = S;
for (; Start != End; ++Start)
{
- if (isspace(*Start) != 0)
+ if (isspace_ascii(*Start) != 0)
continue;
*J++ = tolower_ascii(*Start);
@@ -543,11 +543,11 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
bool const &ParseRestrictionsList)
{
// Strip off leading space
- for (;Start != Stop && isspace(*Start) != 0; ++Start);
+ for (;Start != Stop && isspace_ascii(*Start) != 0; ++Start);
// Parse off the package name
const char *I = Start;
- for (;I != Stop && isspace(*I) == 0 && *I != '(' && *I != ')' &&
+ for (;I != Stop && isspace_ascii(*I) == 0 && *I != '(' && *I != ')' &&
*I != ',' && *I != '|' && *I != '[' && *I != ']' &&
*I != '<' && *I != '>'; ++I);
@@ -573,19 +573,19 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
}
// Skip white space to the '('
- for (;I != Stop && isspace(*I) != 0 ; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0 ; I++);
// Parse a version
if (I != Stop && *I == '(')
{
// Skip the '('
- for (I++; I != Stop && isspace(*I) != 0 ; I++);
+ for (I++; I != Stop && isspace_ascii(*I) != 0 ; I++);
if (I + 3 >= Stop)
return 0;
I = ConvertRelation(I,Op);
// Skip whitespace
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
Start = I;
I = (const char*) memchr(I, ')', Stop - I);
if (I == NULL || Start == I)
@@ -593,7 +593,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
// Skip trailing whitespace
const char *End = I;
- for (; End > Start && isspace(End[-1]); End--);
+ for (; End > Start && isspace_ascii(End[-1]); End--);
Ver.assign(Start,End-Start);
I++;
@@ -605,7 +605,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
}
// Skip whitespace
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
if (ParseArchFlags == true)
{
@@ -625,7 +625,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
while (I != Stop)
{
// look for whitespace or ending ']'
- for (;End != Stop && !isspace(*End) && *End != ']'; ++End);
+ for (;End != Stop && !isspace_ascii(*End) && *End != ']'; ++End);
if (unlikely(End == Stop))
return 0;
@@ -652,7 +652,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
}
I = End;
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
}
if (NegArch == true)
@@ -663,7 +663,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
}
// Skip whitespace
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
}
if (ParseRestrictionsList == true)
@@ -696,7 +696,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
for (;End != Stop && *End != '>'; ++End);
I = ++End;
// skip whitespace
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
} else {
bool applies2 = true;
// all the conditions inside a restriction list have to be
@@ -706,7 +706,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
{
// look for whitespace or ending '>'
// End now points to the character after the current term
- for (;End != Stop && !isspace(*End) && *End != '>'; ++End);
+ for (;End != Stop && !isspace_ascii(*End) && *End != '>'; ++End);
if (unlikely(End == Stop))
return 0;
@@ -739,13 +739,13 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
if (*End++ == '>') {
I = End;
// skip whitespace
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
break;
}
I = End;
// skip whitespace
- for (;I != Stop && isspace(*I) != 0; I++);
+ for (;I != Stop && isspace_ascii(*I) != 0; I++);
}
if (applies2) {
applies1 = true;
@@ -764,7 +764,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
if (I == Stop || *I == ',' || *I == '|')
{
if (I != Stop)
- for (I++; I != Stop && isspace(*I) != 0; I++);
+ for (I++; I != Stop && isspace_ascii(*I) != 0; I++);
return I;
}
diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc
index 9404b6421..cef7ad10e 100644
--- a/apt-pkg/deb/debsrcrecords.cc
+++ b/apt-pkg/deb/debsrcrecords.cc
@@ -48,7 +48,7 @@ const char **debSrcRecordParser::Binaries()
const char *Start, *End;
if (Sect.Find("Binary", Start, End) == false)
return NULL;
- for (; isspace(*Start) != 0; ++Start);
+ for (; isspace_ascii(*Start) != 0; ++Start);
if (Start >= End)
return NULL;
@@ -60,13 +60,13 @@ const char **debSrcRecordParser::Binaries()
do {
char* binStartNext = strchrnul(bin, ',');
char* binEnd = binStartNext - 1;
- for (; isspace(*binEnd) != 0; --binEnd)
+ for (; isspace_ascii(*binEnd) != 0; --binEnd)
binEnd = 0;
StaticBinList.push_back(bin);
if (*binStartNext != ',')
break;
*binStartNext = '\0';
- for (bin = binStartNext + 1; isspace(*bin) != 0; ++bin)
+ for (bin = binStartNext + 1; isspace_ascii(*bin) != 0; ++bin)
;
} while (*bin != '\0');
StaticBinList.push_back(NULL);
diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc
index dcd115b50..56ca8f4c6 100644
--- a/apt-pkg/deb/debsystem.cc
+++ b/apt-pkg/deb/debsystem.cc
@@ -399,10 +399,10 @@ std::vector<std::string> debSystem::SupportedArchitectures() /*{{{*/
char* tok_saveptr;
char* arch = strtok_r(buf, " ", &tok_saveptr);
while (arch != NULL) {
- for (; isspace(*arch) != 0; ++arch);
+ for (; isspace_ascii(*arch) != 0; ++arch);
if (arch[0] != '\0') {
char const* archend = arch;
- for (; isspace(*archend) == 0 && *archend != '\0'; ++archend);
+ for (; isspace_ascii(*archend) == 0 && *archend != '\0'; ++archend);
string a(arch, (archend - arch));
if (std::find(archs.begin(), archs.end(), a) == archs.end())
archs.push_back(a);
diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc
index 2bef9b48b..668cfc3a4 100644
--- a/apt-pkg/tagfile.cc
+++ b/apt-pkg/tagfile.cc
@@ -353,7 +353,7 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength, bool const R
return true;
// Start a new index and add it to the hash
- if (isspace(Stop[0]) == 0)
+ if (isspace_ascii(Stop[0]) == 0)
{
// store the last found tag
if (lastTagData.EndTag != 0)
@@ -375,14 +375,14 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength, bool const R
// find the end of the tag (which might or might not be the colon)
char const * EndTag = Colon;
--EndTag;
- for (; EndTag > Stop && isspace(*EndTag) != 0; --EndTag)
+ for (; EndTag > Stop && isspace_ascii(*EndTag) != 0; --EndTag)
;
++EndTag;
lastTagData.EndTag = EndTag - Section;
lastTagHash = AlphaHash(Stop, EndTag - Stop);
// find the beginning of the value
Stop = Colon + 1;
- for (; isspace(*Stop) != 0; ++Stop);
+ for (; isspace_ascii(*Stop) != 0; ++Stop);
if (Stop >= End)
return false;
lastTagData.StartValue = Stop - Section;
@@ -484,7 +484,7 @@ bool pkgTagSection::Find(const char *Tag,const char *&Start,
if (unlikely(Start > End))
return _error->Error("Internal parsing error");
- for (; isspace(End[-1]) != 0 && End > Start; --End);
+ for (; isspace_ascii(End[-1]) != 0 && End > Start; --End);
return true;
}
@@ -512,7 +512,7 @@ string pkgTagSection::FindRawS(const char *Tag) const
if (unlikely(Start > End))
return "";
- for (; isspace(End[-1]) != 0 && End > Start; --End);
+ for (; isspace_ascii(End[-1]) != 0 && End > Start; --End);
return std::string(Start, End - Start);
}
@@ -672,7 +672,7 @@ pkgTagSection::Tag pkgTagSection::Tag::Rewrite(std::string const &Name, std::str
}
static bool WriteTag(FileFd &File, std::string Tag, std::string const &Value)
{
- if (Value.empty() || isspace(Value[0]) != 0)
+ if (Value.empty() || isspace_ascii(Value[0]) != 0)
Tag.append(":");
else
Tag.append(": ");
@@ -826,7 +826,7 @@ bool TFRewrite(FILE *Output,pkgTagSection const &Tags,const char *Order[],
Visited[J] |= 2;
if (Rewrite[J].Rewrite != 0 && Rewrite[J].Rewrite[0] != 0)
{
- if (isspace(Rewrite[J].Rewrite[0]))
+ if (isspace_ascii(Rewrite[J].Rewrite[0]))
fprintf(Output,"%s:%s\n",Rewrite[J].NewTag,Rewrite[J].Rewrite);
else
fprintf(Output,"%s: %s\n",Rewrite[J].NewTag,Rewrite[J].Rewrite);
@@ -882,7 +882,7 @@ bool TFRewrite(FILE *Output,pkgTagSection const &Tags,const char *Order[],
Visited[J] |= 2;
if (Rewrite[J].Rewrite != 0 && Rewrite[J].Rewrite[0] != 0)
{
- if (isspace(Rewrite[J].Rewrite[0]))
+ if (isspace_ascii(Rewrite[J].Rewrite[0]))
fprintf(Output,"%s:%s\n",Rewrite[J].NewTag,Rewrite[J].Rewrite);
else
fprintf(Output,"%s: %s\n",Rewrite[J].NewTag,Rewrite[J].Rewrite);
@@ -911,7 +911,7 @@ bool TFRewrite(FILE *Output,pkgTagSection const &Tags,const char *Order[],
if (Rewrite[J].Rewrite != 0 && Rewrite[J].Rewrite[0] != 0)
{
- if (isspace(Rewrite[J].Rewrite[0]))
+ if (isspace_ascii(Rewrite[J].Rewrite[0]))
fprintf(Output,"%s:%s\n",Rewrite[J].NewTag,Rewrite[J].Rewrite);
else
fprintf(Output,"%s: %s\n",Rewrite[J].NewTag,Rewrite[J].Rewrite);
diff --git a/methods/https.cc b/methods/https.cc
index a99b1861b..ac6d355ed 100644
--- a/methods/https.cc
+++ b/methods/https.cc
@@ -52,7 +52,7 @@ HttpsMethod::parse_header(void *buffer, size_t size, size_t nmemb, void *userp)
CURLUserPointer *me = static_cast<CURLUserPointer *>(userp);
std::string line((char*) buffer, len);
for (--len; len > 0; --len)
- if (isspace(line[len]) == 0)
+ if (isspace_ascii(line[len]) == 0)
{
++len;
break;
diff --git a/methods/rred.cc b/methods/rred.cc
index 351c1ebf9..89d706984 100644
--- a/methods/rred.cc
+++ b/methods/rred.cc
@@ -7,6 +7,7 @@
#include <config.h>
+#include <apt-pkg/init.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/acquire-method.h>
@@ -692,6 +693,8 @@ int main(int argc, char **argv)
bool test = false;
Patch patch;
+ pkgInitConfig(*_config);
+
if (argc <= 1) {
RredMethod Mth;
return Mth.Run();
diff --git a/methods/server.cc b/methods/server.cc
index e89af2dfe..d5188d4a3 100644
--- a/methods/server.cc
+++ b/methods/server.cc
@@ -114,7 +114,7 @@ bool ServerState::HeaderLine(string Line)
// Parse off any trailing spaces between the : and the next word.
string::size_type Pos2 = Pos;
- while (Pos2 < Line.length() && isspace(Line[Pos2]) != 0)
+ while (Pos2 < Line.length() && isspace_ascii(Line[Pos2]) != 0)
Pos2++;
string Tag = string(Line,0,Pos);