Subversion Repositories HelenOS

Rev

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;