Changes in uspace/app/bdsh/exec.c [9c4cf0d:6afc9d7] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/exec.c

    r9c4cf0d r6afc9d7  
    3737#include <unistd.h>
    3838#include <str.h>
     39#include <fcntl.h>
    3940#include <str_error.h>
    4041#include <errno.h>
     
    5960        int fd;
    6061
    61         fd = vfs_lookup_open(f, WALK_REGULAR, MODE_READ);
     62        fd = open(f, O_RDONLY);
    6263        if (fd >= 0) {
    63                 vfs_put(fd);
     64                close(fd);
    6465                return 0;
    6566        } else
     
    100101        char *tmp;
    101102        int rc, retval, i;
    102         int file_handles[3] = { -1, -1, -1 };
     103        int file_handles[3];
     104        int *file_handles_p[4];
    103105        FILE *files[3];
    104106
     
    111113       
    112114        for (i = 0; i < 3 && files[i] != NULL; i++) {
    113                 vfs_fhandle(files[i], &file_handles[i]);
     115                if (vfs_fhandle(files[i], &file_handles[i]) == EOK) {
     116                        file_handles_p[i] = &file_handles[i];
     117                }
     118                else {
     119                        file_handles_p[i] = NULL;
     120                }
    114121        }
     122        file_handles_p[i] = NULL;
    115123
    116         rc = task_spawnvf(&tid, &twait, tmp, (const char **) argv,
    117             file_handles[0], file_handles[1], file_handles[2]);
     124        rc = task_spawnvf(&tid, &twait, tmp, (const char **) argv, file_handles_p);
    118125        free(tmp);
    119126
Note: See TracChangeset for help on using the changeset viewer.