Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/taskdump/symtab.c

    r8d2dd7f2 r125c09c  
    4141#include <stddef.h>
    4242#include <errno.h>
     43#include <str_error.h>
    4344#include <vfs/vfs.h>
    4445
     
    7172        int fd;
    7273        int rc;
     74        size_t nread;
    7375        int i;
    7476
     
    8183                return ENOMEM;
    8284
    83         fd = vfs_lookup_open(file_name, WALK_REGULAR, MODE_READ);
    84         if (fd < 0) {
    85                 printf("failed opening file\n");
     85        rc = vfs_lookup_open(file_name, WALK_REGULAR, MODE_READ, &fd);
     86        if (rc != EOK) {
     87                printf("failed opening file '%s': %s\n", file_name, str_error(rc));
    8688                free(stab);
    8789                return ENOENT;
    8890        }
    8991
    90         rc = vfs_read(fd, &pos, &elf_hdr, sizeof(elf_header_t));
    91         if (rc != sizeof(elf_header_t)) {
     92        rc = vfs_read(fd, &pos, &elf_hdr, sizeof(elf_header_t), &nread);
     93        if (rc != EOK || nread != sizeof(elf_header_t)) {
    9294                printf("failed reading elf header\n");
    9395                free(stab);
     
    304306{
    305307        int rc;
     308        size_t nread;
    306309        aoff64_t pos = elf_hdr->e_shoff + idx * sizeof(elf_section_header_t);
    307310
    308         rc = vfs_read(fd, &pos, sec_hdr, sizeof(elf_section_header_t));
    309         if (rc != sizeof(elf_section_header_t))
     311        rc = vfs_read(fd, &pos, sec_hdr, sizeof(elf_section_header_t), &nread);
     312        if (rc != EOK || nread != sizeof(elf_section_header_t))
    310313                return EIO;
    311314
     
    326329static int chunk_load(int fd, off64_t start, size_t size, void **ptr)
    327330{
    328         ssize_t rc;
     331        int rc;
     332        size_t nread;
    329333        aoff64_t pos = start;
    330334
     
    335339        }
    336340
    337         rc = vfs_read(fd, &pos, *ptr, size);
    338         if (rc != (ssize_t) size) {
     341        rc = vfs_read(fd, &pos, *ptr, size, &nread);
     342        if (rc != EOK || nread != size) {
    339343                printf("failed reading chunk\n");
    340344                free(*ptr);
Note: See TracChangeset for help on using the changeset viewer.