Rev 4055 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4055 | Rev 4296 | ||
---|---|---|---|
Line 91... | Line 91... | ||
91 | char *dirs[255]; |
91 | char *dirs[255]; |
92 | unsigned int absolute = 0, i = 0, ret = 0; |
92 | unsigned int absolute = 0, i = 0, ret = 0; |
93 | 93 | ||
94 | /* Its a good idea to allocate path, plus we (may) need a copy of |
94 | /* Its a good idea to allocate path, plus we (may) need a copy of |
95 | * path to tokenize if parents are specified */ |
95 | * path to tokenize if parents are specified */ |
96 | if (NULL == (tmp = strdup(path))) { |
96 | if (NULL == (tmp = str_dup(path))) { |
97 | cli_error(CL_ENOMEM, "%s: path too big?", cmdname); |
97 | cli_error(CL_ENOMEM, "%s: path too big?", cmdname); |
98 | return 1; |
98 | return 1; |
99 | } |
99 | } |
100 | 100 | ||
101 | if (NULL == (wdp = (char *) malloc(PATH_MAX))) { |
101 | if (NULL == (wdp = (char *) malloc(PATH_MAX))) { |
Line 147... | Line 147... | ||
147 | } |
147 | } |
148 | 148 | ||
149 | while (dirs[i] != NULL) { |
149 | while (dirs[i] != NULL) { |
150 | /* Sometimes make or scripts conjoin odd paths. Account for something |
150 | /* Sometimes make or scripts conjoin odd paths. Account for something |
151 | * like this: ../../foo/bar/../foo/foofoo/./bar */ |
151 | * like this: ../../foo/bar/../foo/foofoo/./bar */ |
152 | if (!strcmp(dirs[i], "..") || !strcmp(dirs[i], ".")) { |
152 | if (!str_cmp(dirs[i], "..") || !str_cmp(dirs[i], ".")) { |
153 | if (0 != (chdir(dirs[i]))) { |
153 | if (0 != (chdir(dirs[i]))) { |
154 | cli_error(CL_EFAIL, "%s: impossible path: %s", |
154 | cli_error(CL_EFAIL, "%s: impossible path: %s", |
155 | cmdname, path); |
155 | cmdname, path); |
156 | ret ++; |
156 | ret ++; |
157 | goto finit; |
157 | goto finit; |