return str.c_str();
}
+static int chown_path(const std::string &pathname, const uid_t owner, const gid_t group,
+ const std::string &uid_str, const std::string &gid_str)
+{
+ const char *pathname_cstr = c_str_or_null(pathname);
+
+ if (!pathname_cstr) {
+ return 0;
+ }
+
+ int r = ::chown(pathname_cstr, owner, group);
+
+ if (r < 0) {
+ r = -errno;
+ cerr << "warning: unable to chown() " << pathname << " as "
+ << uid_str << ":" << gid_str << ": " << cpp_strerror(r) << std::endl;
+ }
+
+ return r;
+}
+
void global_pre_init(std::vector < const char * > *alt_def_args,
std::vector < const char* >& args,
uint32_t module_type, code_environment_t code_env,