comparison common/path.cpp @ 23:03068f5ed79d

Misc: various style issues, #419
author David Demelier <markand@malikania.fr>
date Sun, 14 Feb 2016 16:15:48 +0100
parents 1158cffe5a5e
children
comparison
equal deleted inserted replaced
22:23d59afec277 23:03068f5ed79d
89 std::size_t size = PATH_MAX; 89 std::size_t size = PATH_MAX;
90 90
91 result.resize(size); 91 result.resize(size);
92 92
93 if (!(size = GetModuleFileNameA(nullptr, &result[0], size))) 93 if (!(size = GetModuleFileNameA(nullptr, &result[0], size)))
94 throw std::runtime_error{"GetModuleFileName error"}; 94 throw std::runtime_error("GetModuleFileName error");
95 95
96 result.resize(size); 96 result.resize(size);
97 97
98 return result; 98 return result;
99 } 99 }
107 result.resize(2048); 107 result.resize(2048);
108 108
109 auto size = readlink("/proc/self/exe", &result[0], 2048); 109 auto size = readlink("/proc/self/exe", &result[0], 2048);
110 110
111 if (size < 0) 111 if (size < 0)
112 throw std::invalid_argument{std::strerror(errno)}; 112 throw std::invalid_argument(std::strerror(errno));
113 113
114 result.resize(size); 114 result.resize(size);
115 115
116 return result; 116 return result;
117 } 117 }
125 std::size_t size = PATH_MAX + 1; 125 std::size_t size = PATH_MAX + 1;
126 126
127 result.resize(size); 127 result.resize(size);
128 128
129 if (sysctl(mib.data(), 4, &result[0], &size, nullptr, 0) < 0) 129 if (sysctl(mib.data(), 4, &result[0], &size, nullptr, 0) < 0)
130 throw std::runtime_error{std::strerror(errno)}; 130 throw std::runtime_error(std::strerror(errno));
131 131
132 result.resize(size); 132 result.resize(size);
133 133
134 return result; 134 return result;
135 } 135 }
142 std::size_t size = PROC_PIDPATHINFO_MAXSIZE; 142 std::size_t size = PROC_PIDPATHINFO_MAXSIZE;
143 143
144 result.resize(size); 144 result.resize(size);
145 145
146 if ((size = proc_pidpath(getpid(), &result[0], size)) == 0) 146 if ((size = proc_pidpath(getpid(), &result[0], size)) == 0)
147 throw std::runtime_error{std::strerror(errno)}; 147 throw std::runtime_error(std::strerror(errno));
148 148
149 result.resize(size); 149 result.resize(size);
150 150
151 return result; 151 return result;
152 } 152 }
379 } 379 }
380 380
381 } // !namespace 381 } // !namespace
382 382
383 #if defined(IRCCD_SYSTEM_WINDOWS) 383 #if defined(IRCCD_SYSTEM_WINDOWS)
384 const char Separator{';'}; 384 const char Separator(';');
385 #else 385 #else
386 const char Separator{':'}; 386 const char Separator(':');
387 #endif 387 #endif
388 388
389 void setApplicationPath(const std::string &argv0) 389 void setApplicationPath(const std::string &argv0)
390 { 390 {
391 #if defined(IRCCD_RELOCATABLE) 391 #if defined(IRCCD_RELOCATABLE)
422 break; 422 break;
423 } 423 }
424 } 424 }
425 425
426 /* Not found in PATH? add dummy value */ 426 /* Not found in PATH? add dummy value */
427 if (base.empty()) { 427 if (base.empty())
428 base = std::string(".") + fs::Separator + WITH_BINDIR + fs::Separator + "dummy"; 428 base = std::string(".") + fs::Separator + WITH_BINDIR + fs::Separator + "dummy";
429 }
430 } 429 }
431 } 430 }
432 431
433 /* Find bin/<progname> */ 432 /* Find bin/<progname> */
434 auto pos = base.rfind(std::string(WITH_BINDIR) + fs::Separator + fs::baseName(base)); 433 auto pos = base.rfind(std::string(WITH_BINDIR) + fs::Separator + fs::baseName(base));