Delete char* SharedFD functions.
char* arguments are auto-converted to std::string when calling these
functions.
Test: make -j
Bug: 150648593
Bug: 156286088
Change-Id: Ib48ccaaabe6a7afb8a6191149fb3ca7aad9886e2
Merged-In: Ib48ccaaabe6a7afb8a6191149fb3ca7aad9886e2
diff --git a/common/libs/fs/shared_fd.cpp b/common/libs/fs/shared_fd.cpp
index f3fff8a..f02a0e9 100644
--- a/common/libs/fs/shared_fd.cpp
+++ b/common/libs/fs/shared_fd.cpp
@@ -234,8 +234,8 @@
return std::shared_ptr<FileInstance>(new FileInstance(fd, errno));
}
-SharedFD SharedFD::MemfdCreate(const char* name, unsigned int flags) {
- int fd = memfd_create_wrapper(name, flags);
+SharedFD SharedFD::MemfdCreate(const std::string& name, unsigned int flags) {
+ int fd = memfd_create_wrapper(name.c_str(), flags);
int error_num = errno;
return std::shared_ptr<FileInstance>(new FileInstance(fd, error_num));
}
@@ -252,8 +252,8 @@
return false;
}
-SharedFD SharedFD::Open(const char* path, int flags, mode_t mode) {
- int fd = TEMP_FAILURE_RETRY(open(path, flags, mode));
+SharedFD SharedFD::Open(const std::string& path, int flags, mode_t mode) {
+ int fd = TEMP_FAILURE_RETRY(open(path.c_str(), flags, mode));
if (fd == -1) {
return SharedFD(std::shared_ptr<FileInstance>(new FileInstance(fd, errno)));
} else {
@@ -261,7 +261,7 @@
}
}
-SharedFD SharedFD::Creat(const char* path, mode_t mode) {
+SharedFD SharedFD::Creat(const std::string& path, mode_t mode) {
return SharedFD::Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode);
}
@@ -278,11 +278,11 @@
return SharedFD(std::shared_ptr<FileInstance>(new FileInstance(-1, error)));
}
-SharedFD SharedFD::SocketLocalClient(const char* name, bool abstract,
+SharedFD SharedFD::SocketLocalClient(const std::string& name, bool abstract,
int in_type) {
struct sockaddr_un addr;
socklen_t addrlen;
- MakeAddress(name, abstract, &addr, &addrlen);
+ MakeAddress(name.c_str(), abstract, &addr, &addrlen);
SharedFD rval = SharedFD::Socket(PF_UNIX, in_type, 0);
if (!rval->IsOpen()) {
return rval;
@@ -337,15 +337,15 @@
return rval;
}
-SharedFD SharedFD::SocketLocalServer(const char* name, bool abstract,
+SharedFD SharedFD::SocketLocalServer(const std::string& name, bool abstract,
int in_type, mode_t mode) {
// DO NOT UNLINK addr.sun_path. It does NOT have to be null-terminated.
// See man 7 unix for more details.
- if (!abstract) (void)unlink(name);
+ if (!abstract) (void)unlink(name.c_str());
struct sockaddr_un addr;
socklen_t addrlen;
- MakeAddress(name, abstract, &addr, &addrlen);
+ MakeAddress(name.c_str(), abstract, &addr, &addrlen);
SharedFD rval = SharedFD::Socket(PF_UNIX, in_type, 0);
if (!rval->IsOpen()) {
return rval;
@@ -374,7 +374,7 @@
}
if (!abstract) {
- if (TEMP_FAILURE_RETRY(chmod(name, mode)) == -1) {
+ if (TEMP_FAILURE_RETRY(chmod(name.c_str(), mode)) == -1) {
LOG(ERROR) << "chmod failed: " << strerror(errno);
// However, continue since we do have a listening socket
}
diff --git a/common/libs/fs/shared_fd.h b/common/libs/fs/shared_fd.h
index bd1bd42..bf54dfa 100644
--- a/common/libs/fs/shared_fd.h
+++ b/common/libs/fs/shared_fd.h
@@ -119,36 +119,19 @@
static SharedFD Dup(int unmanaged_fd);
// All SharedFDs have the O_CLOEXEC flag after creation. To remove use the
// Fcntl or Dup functions.
- static SharedFD Open(const char* pathname, int flags, mode_t mode = 0);
- static SharedFD Open(const std::string& pathname, int flags, mode_t mode = 0) {
- return Open(pathname.c_str(), flags, mode);
- }
- static SharedFD Creat(const char* pathname, mode_t mode);
- static SharedFD Creat(const std::string& pathname, mode_t mode) {
- return Creat(pathname.c_str(), mode);
- }
+ static SharedFD Open(const std::string& pathname, int flags, mode_t mode = 0);
+ static SharedFD Creat(const std::string& pathname, mode_t mode);
static bool Pipe(SharedFD* fd0, SharedFD* fd1);
static SharedFD Event(int initval = 0, int flags = 0);
- static SharedFD MemfdCreate(const char* name, unsigned int flags = 0);
- static SharedFD MemfdCreate(const std::string& name, unsigned int flags = 0) {
- return MemfdCreate(name.c_str(), flags);
- }
+ static SharedFD MemfdCreate(const std::string& name, unsigned int flags = 0);
static bool SocketPair(int domain, int type, int protocol, SharedFD* fd0,
SharedFD* fd1);
static SharedFD Socket(int domain, int socket_type, int protocol);
- static SharedFD SocketLocalClient(const char* name, bool is_abstract,
- int in_type);
static SharedFD SocketLocalClient(const std::string& name, bool is_abstract,
- int in_type) {
- return SocketLocalClient(name.c_str(), is_abstract, in_type);
- }
+ int in_type);
static SharedFD SocketLocalClient(int port, int type);
- static SharedFD SocketLocalServer(const char* name, bool is_abstract,
- int in_type, mode_t mode);
static SharedFD SocketLocalServer(const std::string& name, bool is_abstract,
- int in_type, mode_t mode) {
- return SocketLocalServer(name.c_str(), is_abstract, in_type, mode);
- }
+ int in_type, mode_t mode);
static SharedFD SocketLocalServer(int port, int type);
static SharedFD VsockServer(unsigned int port, int type);
static SharedFD VsockServer(int type);