Fix compiler warnings.
Changed finds that use a string with a single character ("X"), to 'X'.
Remove using statements from header file.
Add a couple of missing includes.
Changed a couple of functions that take a string to const string& to
avoid extra copies.
Test: No warnings when compiled, unit tests pass.
Change-Id: I218ee0e6b6c7fb1c79d1337c1ce3d6f1e318a3cd
diff --git a/libbpf_android/Loader.cpp b/libbpf_android/Loader.cpp
index 7687cb1..d02ed87 100644
--- a/libbpf_android/Loader.cpp
+++ b/libbpf_android/Loader.cpp
@@ -34,6 +34,7 @@
#include <fstream>
#include <iostream>
#include <string>
+#include <vector>
#include <android-base/strings.h>
@@ -45,6 +46,7 @@
using android::base::StartsWith;
using std::ifstream;
using std::ios;
+using std::string;
using std::vector;
namespace android {
@@ -498,7 +500,7 @@
}
}
-static int loadCodeSections(const char* elfPath, vector<codeSection>& cs, string license) {
+static int loadCodeSections(const char* elfPath, vector<codeSection>& cs, const string& license) {
int ret, fd, kvers;
if ((kvers = getMachineKvers()) < 0) return -1;
diff --git a/libbpf_android/LoaderUtils.h b/libbpf_android/LoaderUtils.h
index f4912e5..9eda833 100644
--- a/libbpf_android/LoaderUtils.h
+++ b/libbpf_android/LoaderUtils.h
@@ -16,20 +16,17 @@
#include <stdio.h>
#include <iostream>
+#include <string>
#include <vector>
#include <android-base/strings.h>
-using android::base::Split;
-using std::string;
-using std::vector;
-
-static string pathToFilename(string path, bool noext = false) {
- vector<string> spath = android::base::Split(path, "/");
- string ret = spath.back();
+static std::string pathToFilename(const std::string& path, bool noext = false) {
+ std::vector<std::string> spath = android::base::Split(path, "/");
+ std::string ret = spath.back();
if (noext) {
- size_t lastindex = ret.find_last_of(".");
+ size_t lastindex = ret.find_last_of('.');
return ret.substr(0, lastindex);
}
return ret;
@@ -43,21 +40,21 @@
if (uname(&un)) return -1;
unameOut = un.release;
- string s = unameOut;
- string token;
+ std::string s = unameOut;
+ std::string token;
size_t pos = 0;
int cur_num = 0;
- while ((pos = s.find(".")) != string::npos && cur_num < 3) {
+ while ((pos = s.find('.')) != std::string::npos && cur_num < 3) {
token = s.substr(0, pos);
s.erase(0, pos + 1);
- if ((pos = token.find("-")) != string::npos) token = token.substr(0, pos);
+ if ((pos = token.find('-')) != std::string::npos) token = token.substr(0, pos);
nums[cur_num++] = stoi(token);
}
- if ((pos = s.find("-")) != string::npos)
+ if ((pos = s.find('-')) != std::string::npos)
token = s.substr(0, pos);
else
token = s;
@@ -72,6 +69,6 @@
return (65536 * nums[0] + 256 * nums[1] + nums[2]);
}
-static void deslash(string& s) {
+static void deslash(std::string& s) {
std::replace(s.begin(), s.end(), '/', '_');
}