Convert some Args index-based iteration to range-style iteration.

This is better for a number of reasons.  Mostly style, but also:

1) Signed-unsigned comparison warnings disappear since there is
   no loop index.
2) Iterating with the range-for style gives you back an entry
   that has more than just a const char*, so it's more efficient
   and more useful.
3) Makes code safter since the type system enforces that it's
   impossible to index out of bounds.

llvm-svn: 283413
This commit is contained in:
Zachary Turner
2016-10-05 23:40:23 +00:00
parent 3b564e9765
commit 97d2c4011b
18 changed files with 240 additions and 252 deletions

View File

@@ -31,10 +31,8 @@ static void FixupEnvironment(Args &env) {
// path to /system/bin. It is required because the default path used by
// execve() is wrong on android.
static const char *path = "PATH=";
static const int path_len = ::strlen(path);
for (size_t i = 0; i < env.GetArgumentCount(); ++i) {
const char *arg = env.GetArgumentAtIndex(i);
if (::strncmp(path, arg, path_len) == 0)
for (auto &entry : entries) {
if (entry.ref.startswith(path))
return;
}
env.AppendArgument(llvm::StringRef("PATH=/system/bin"));