Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/cmds/modules/cp/cp.c

    r8e3498b r39330200  
    2828
    2929#include <errno.h>
     30#include <str_error.h>
    3031#include <stdio.h>
    3132#include <stdlib.h>
     
    7980static dentry_type_t get_type(const char *path)
    8081{
    81         struct stat s;
    82 
    83         int r = vfs_stat_path(path, &s);
     82        vfs_stat_t s;
     83
     84        errno_t r = vfs_stat_path(path, &s);
    8485
    8586        if (r != EOK)
     
    175176}
    176177
    177 static int do_copy(const char *src, const char *dest,
     178static errno_t do_copy(const char *src, const char *dest,
    178179    size_t blen, int vb, int recursive, int force, int interactive)
    179180{
    180         int rc = EOK;
     181        errno_t rc = EOK;
    181182        char dest_path[PATH_MAX];
    182183        char src_path[PATH_MAX];
     
    265266
    266267                /* call copy_file and exit */
    267                 rc = (copy_file(src, dest_path, blen, vb) < 0);
     268                if (copy_file(src, dest_path, blen, vb) < 0) {
     269                        rc = EIO;
     270                }
    268271
    269272        } else if (src_type == TYPE_DIR) {
     
    337340                 */
    338341                while ((dp = readdir(dir))) {
    339                         struct stat src_s;
    340                         struct stat dest_s;
     342                        vfs_stat_t src_s;
     343                        vfs_stat_t dest_s;
    341344
    342345                        char src_dent[PATH_MAX];
     
    385388        int fd1, fd2;
    386389        size_t rbytes, wbytes;
    387         int rc;
     390        errno_t rc;
    388391        off64_t total;
    389392        char *buff = NULL;
    390393        aoff64_t posr = 0, posw = 0;
    391         struct stat st;
     394        vfs_stat_t st;
    392395
    393396        if (vb)
    394397                printf("Copying %s to %s\n", src, dest);
    395398
    396         fd1 = vfs_lookup_open(src, WALK_REGULAR, MODE_READ);
    397         if (fd1 < 0) {
     399        rc = vfs_lookup_open(src, WALK_REGULAR, MODE_READ, &fd1);
     400        if (rc != EOK) {
    398401                printf("Unable to open source file %s\n", src);
    399402                return -1;
    400403        }
    401404
    402         fd2 = vfs_lookup_open(dest, WALK_REGULAR | WALK_MAY_CREATE, MODE_WRITE);
    403         if (fd2 < 0) {
     405        rc = vfs_lookup_open(dest, WALK_REGULAR | WALK_MAY_CREATE, MODE_WRITE, &fd2);
     406        if (rc != EOK) {
    404407                printf("Unable to open destination file %s\n", dest);
    405408                vfs_put(fd1);
     
    432435
    433436        if (rc != EOK) {
    434                 printf("\nError copying %s, (%d)\n", src, rc);
    435                 return rc;
     437                printf("\nError copying %s: %s\n", src, str_error(rc));
     438                return -1;
    436439        }
    437440
     
    441444        if (buff)
    442445                free(buff);
    443         return rc;
     446        if (rc != EOK) {
     447                return -1;
     448        } else {
     449                return 0;
     450        }
    444451}
    445452
     
    472479        int force = 0, interactive = 0;
    473480        int c, opt_ind;
    474         int64_t ret;
     481        errno_t ret;
    475482
    476483        con = console_init(stdin, stdout);
Note: See TracChangeset for help on using the changeset viewer.