Changeset 368ee04 in mainline for uspace/lib/posix/source/stdio.c


Ignore:
Timestamp:
2017-04-05T18:10:39Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
93ad8166
Parents:
39f892a9 (diff), 2166728 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~jakub/helenos/vfs-2.5-cherrypick

This merge cherry-picks some of the changesets from Jiri Zarevucky's:

lp:~zarevucky-jiri/helenos/vfs-2.5

and then continues independently, yet sometime in a similar vein.

Roughly speaking, Jiri's branch is merged entirely up to its revision
1926 and then cherry-picked on and off until its revision 1965. Among
these changes are:

  • relativization of the API,
  • client-side roots,
  • server-side mounts,
  • inbox for passing arbitrary files from parent to child,
  • some streamlining and cleanup.

Additional changes include:

  • addressing issues introduced by the above changes,
  • client-side I/O cursors (file positions),
  • all HelenOS file system APIs begin with the vfs_ prefix and can be used after including vfs/vfs.h,
  • removal of some POSIX-ish headers and definitions,
  • additional cleanup.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/source/stdio.c

    r39f892a9 r368ee04  
    5353#include "libc/malloc.h"
    5454#include "libc/adt/list.h"
    55 #include "libc/sys/stat.h"
    5655
    5756/** Clears the stream's error and end-of-file indicators.
     
    344343static int _dprintf_str_write(const char *str, size_t size, void *fd)
    345344{
    346         ssize_t wr = write(*(int *) fd, str, size);
     345        const int fildes = *(int *) fd;
     346        ssize_t wr = vfs_write(fildes, &posix_pos[fildes], str, size);
    347347        if (wr < 0)
    348                 return errno;
     348                return wr;
    349349        return str_nlength(str, wr);
    350350}
     
    371371                }
    372372               
    373                 if (write(*(int *) fd, buf, sz) != (ssize_t) sz) {
     373                const int fildes = *(int *) fd;
     374                if (vfs_write(fildes, &posix_pos[fildes], buf, sz) < 0)
    374375                        break;
    375                 }
    376376               
    377377                chars++;
     
    575575int posix_remove(const char *path)
    576576{
    577         return negerrno(remove, path);
     577        if (rcerrno(vfs_unlink_path, path) != EOK)
     578                return -1;
     579        else
     580                return 0;
    578581}
    579582
     
    587590int posix_rename(const char *old, const char *new)
    588591{
    589         return negerrno(rename, old, new);
     592        int rc = rcerrno(vfs_rename_path, old, new);
     593        if (rc != EOK)
     594                return -1;
     595        else
     596                return 0;
    590597}
    591598
Note: See TracChangeset for help on using the changeset viewer.