Commit 6067608d930fa7fc8eda40b72e1df328dbcb146e
1 parent
235d8f28
Remove needless #ifdef _WIN32 from getWhoami
Showing
3 changed files
with
26 additions
and
8 deletions
libqpdf/QUtil.cc
| @@ -237,13 +237,9 @@ QUtil::setLineBuf(FILE* f) | @@ -237,13 +237,9 @@ QUtil::setLineBuf(FILE* f) | ||
| 237 | char* | 237 | char* |
| 238 | QUtil::getWhoami(char* argv0) | 238 | QUtil::getWhoami(char* argv0) |
| 239 | { | 239 | { |
| 240 | -#ifdef _WIN32 | ||
| 241 | - char pathsep = '\\'; | ||
| 242 | -#else | ||
| 243 | - char pathsep = '/'; | ||
| 244 | -#endif | ||
| 245 | char* whoami = 0; | 240 | char* whoami = 0; |
| 246 | - if ((whoami = strrchr(argv0, pathsep)) == NULL) | 241 | + if (((whoami = strrchr(argv0, '/')) == NULL) && |
| 242 | + ((whoami = strrchr(argv0, '\\')) == NULL)) | ||
| 247 | { | 243 | { |
| 248 | whoami = argv0; | 244 | whoami = argv0; |
| 249 | } | 245 | } |
| @@ -251,13 +247,13 @@ QUtil::getWhoami(char* argv0) | @@ -251,13 +247,13 @@ QUtil::getWhoami(char* argv0) | ||
| 251 | { | 247 | { |
| 252 | ++whoami; | 248 | ++whoami; |
| 253 | } | 249 | } |
| 254 | -#ifdef _WIN32 | 250 | + |
| 255 | if ((strlen(whoami) > 4) && | 251 | if ((strlen(whoami) > 4) && |
| 256 | (strcmp(whoami + strlen(whoami) - 4, ".exe") == 0)) | 252 | (strcmp(whoami + strlen(whoami) - 4, ".exe") == 0)) |
| 257 | { | 253 | { |
| 258 | whoami[strlen(whoami) - 4] = '\0'; | 254 | whoami[strlen(whoami) - 4] = '\0'; |
| 259 | } | 255 | } |
| 260 | -#endif | 256 | + |
| 261 | return whoami; | 257 | return whoami; |
| 262 | } | 258 | } |
| 263 | 259 |
libtests/qtest/qutil/qutil.out
| @@ -30,3 +30,8 @@ HAGOOGAMAGOOGLE: 0 | @@ -30,3 +30,8 @@ HAGOOGAMAGOOGLE: 0 | ||
| 30 | 0x16059 -> f0 96 81 99 | 30 | 0x16059 -> f0 96 81 99 |
| 31 | 0x7fffffff -> fd bf bf bf bf bf | 31 | 0x7fffffff -> fd bf bf bf bf bf |
| 32 | 0x80000000: bounds error in QUtil::toUTF8 | 32 | 0x80000000: bounds error in QUtil::toUTF8 |
| 33 | +---- | ||
| 34 | +quack1 | ||
| 35 | +quack2 | ||
| 36 | +quack3 | ||
| 37 | +quack4 |
libtests/qutil.cc
| @@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
| 4 | #include <sys/stat.h> | 4 | #include <sys/stat.h> |
| 5 | #include <fcntl.h> | 5 | #include <fcntl.h> |
| 6 | #include <qpdf/QUtil.hh> | 6 | #include <qpdf/QUtil.hh> |
| 7 | +#include <qpdf/PointerHolder.hh> | ||
| 7 | #include <string.h> | 8 | #include <string.h> |
| 8 | 9 | ||
| 9 | #ifdef _WIN32 | 10 | #ifdef _WIN32 |
| @@ -125,6 +126,20 @@ void to_utf8_test() | @@ -125,6 +126,20 @@ void to_utf8_test() | ||
| 125 | } | 126 | } |
| 126 | } | 127 | } |
| 127 | 128 | ||
| 129 | +void print_whoami(char const* str) | ||
| 130 | +{ | ||
| 131 | + PointerHolder<char> dup(true, QUtil::copy_string(str)); | ||
| 132 | + std::cout << QUtil::getWhoami(dup.getPointer()) << std::endl; | ||
| 133 | +} | ||
| 134 | + | ||
| 135 | +void get_whoami_test() | ||
| 136 | +{ | ||
| 137 | + print_whoami("a/b/c/quack1"); | ||
| 138 | + print_whoami("a/b/c/quack2.exe"); | ||
| 139 | + print_whoami("a\\b\\c\\quack3"); | ||
| 140 | + print_whoami("a\\b\\c\\quack4.exe"); | ||
| 141 | +} | ||
| 142 | + | ||
| 128 | int main(int argc, char* argv[]) | 143 | int main(int argc, char* argv[]) |
| 129 | { | 144 | { |
| 130 | try | 145 | try |
| @@ -138,6 +153,8 @@ int main(int argc, char* argv[]) | @@ -138,6 +153,8 @@ int main(int argc, char* argv[]) | ||
| 138 | getenv_test(); | 153 | getenv_test(); |
| 139 | std::cout << "----" << std::endl; | 154 | std::cout << "----" << std::endl; |
| 140 | to_utf8_test(); | 155 | to_utf8_test(); |
| 156 | + std::cout << "----" << std::endl; | ||
| 157 | + get_whoami_test(); | ||
| 141 | } | 158 | } |
| 142 | catch (std::exception& e) | 159 | catch (std::exception& e) |
| 143 | { | 160 | { |