* Fix a few "comparison is always false/true due to limited range of

data type" warnings on 64-bit platforms.  The one in parser.y is
  likely to be a real bug.
This commit is contained in:
Eelco Dolstra 2009-04-16 12:03:17 +00:00
parent 0460ea4c39
commit 4e646b0ddb
3 changed files with 5 additions and 5 deletions

View File

@ -147,7 +147,7 @@ static Expr stripIndentation(ATermList es)
/* Remove the last line if it is empty and consists only of /* Remove the last line if it is empty and consists only of
spaces. */ spaces. */
if (n == 1) { if (n == 1) {
unsigned int p = s2.find_last_of('\n'); string::size_type p = s2.find_last_of('\n');
if (p != string::npos && s2.find_first_not_of(' ', p + 1) == string::npos) if (p != string::npos && s2.find_first_not_of(' ', p + 1) == string::npos)
s2 = string(s2, 0, p + 1); s2 = string(s2, 0, p + 1);
} }

View File

@ -393,7 +393,7 @@ ValidPathInfo LocalStore::queryPathInfo(const Path & path, bool ignoreErrors)
Strings lines = tokenizeString(info, "\n"); Strings lines = tokenizeString(info, "\n");
for (Strings::iterator i = lines.begin(); i != lines.end(); ++i) { for (Strings::iterator i = lines.begin(); i != lines.end(); ++i) {
unsigned int p = i->find(':'); string::size_type p = i->find(':');
if (p == string::npos) continue; /* bad line */ if (p == string::npos) continue; /* bad line */
string name(*i, 0, p); string name(*i, 0, p);
string value(*i, p + 2); string value(*i, p + 2);

View File

@ -50,7 +50,7 @@ static void dumpEntries(const Path & path, Sink & sink, PathFilter & filter)
} }
static void dumpContents(const Path & path, off_t size, static void dumpContents(const Path & path, size_t size,
Sink & sink) Sink & sink)
{ {
writeString("contents", sink); writeString("contents", sink);
@ -60,7 +60,7 @@ static void dumpContents(const Path & path, off_t size,
if (fd == -1) throw SysError(format("opening file `%1%'") % path); if (fd == -1) throw SysError(format("opening file `%1%'") % path);
unsigned char buf[65536]; unsigned char buf[65536];
off_t left = size; size_t left = size;
while (left > 0) { while (left > 0) {
size_t n = left > sizeof(buf) ? sizeof(buf) : left; size_t n = left > sizeof(buf) ? sizeof(buf) : left;
@ -88,7 +88,7 @@ static void dump(const Path & path, Sink & sink, PathFilter & filter)
writeString("executable", sink); writeString("executable", sink);
writeString("", sink); writeString("", sink);
} }
dumpContents(path, st.st_size, sink); dumpContents(path, (size_t) st.st_size, sink);
} }
else if (S_ISDIR(st.st_mode)) { else if (S_ISDIR(st.st_mode)) {