Rev 18 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 18 | Rev 20 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | 4 | ||
5 | #include "harness/config.h" |
- | |
6 | #include "harness/os.h" |
5 | #include "harness/os.h" |
7 | #include <assert.h> |
6 | #include <assert.h> |
8 | #include <dirent.h> |
7 | #include <dirent.h> |
9 | #include <err.h> |
8 | #include <err.h> |
10 | #include <errno.h> |
9 | #include <errno.h> |
Line 163... | Line 162... | ||
163 | static uint8_t alternate_stack[SIGSTKSZ]; |
162 | static uint8_t alternate_stack[SIGSTKSZ]; |
164 | 163 | ||
165 | void resolve_full_path(char* path, const char* argv0) { |
164 | void resolve_full_path(char* path, const char* argv0) { |
166 | if (argv0[0] == '/') { // run with absolute path |
165 | if (argv0[0] == '/') { // run with absolute path |
167 | strcpy(path, argv0); |
166 | strcpy(path, argv0); |
168 | } else { // run with relative path |
167 | } else { // run with relative path |
169 | if (NULL == getcwd(path, PATH_MAX)) { |
168 | if (NULL == getcwd(path, PATH_MAX)) { |
170 | perror("getcwd error"); |
169 | perror("getcwd error"); |
171 | return; |
170 | return; |
172 | } |
171 | } |
173 | strcat(path, "/"); |
172 | strcat(path, "/"); |
Line 224... | Line 223... | ||
224 | 223 | ||
225 | FILE* OS_fopen(const char* pathname, const char* mode) { |
224 | FILE* OS_fopen(const char* pathname, const char* mode) { |
226 | FILE* f; |
225 | FILE* f; |
227 | 226 | ||
228 | f = fopen(pathname, mode); |
227 | f = fopen(pathname, mode); |
229 | if (harness_game_config.verbose) { |
- | |
230 |
|
228 | if (f == NULL) { |
231 |
|
229 | fprintf(stderr, "Failed to open \"%s\" (%s)\n", pathname, strerror(errno)); |
232 | } |
- | |
233 | } |
230 | } |
234 | 231 | ||
235 | return f; |
232 | return f; |
236 | } |
233 | } |
237 | 234 |