Rev 3413 | Rev 4264 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3413 | Rev 3813 | ||
|---|---|---|---|
| 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 = cli_strdup(path))) { |
96 | if (NULL == (tmp = strdup(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 126... | Line 126... | ||
| 126 | /* See if path[0] is a slash, if so we have to remember to append it */ |
126 | /* See if path[0] is a slash, if so we have to remember to append it */ |
| 127 | if (tmp[0] == '/') |
127 | if (tmp[0] == '/') |
| 128 | absolute = 1; |
128 | absolute = 1; |
| 129 | 129 | ||
| 130 | /* TODO: Canonify the path prior to tokenizing it, see below */ |
130 | /* TODO: Canonify the path prior to tokenizing it, see below */ |
| 131 | dirs[i] = cli_strtok(tmp, "/"); |
131 | dirs[i] = strtok(tmp, "/"); |
| 132 | while (dirs[i] && i < 255) |
132 | while (dirs[i] && i < 255) |
| 133 | dirs[++i] = cli_strtok(NULL, "/"); |
133 | dirs[++i] = strtok(NULL, "/"); |
| 134 | 134 | ||
| 135 | if (NULL == dirs[0]) |
135 | if (NULL == dirs[0]) |
| 136 | return 1; |
136 | return 1; |
| 137 | 137 | ||
| 138 | if (absolute == 1) { |
138 | if (absolute == 1) { |