Fork us on GitHub Follow us on Facebook Follow us on Twitter

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/devman/match.c

    raed3e6a rce04ea44  
    3232
    3333#include <errno.h>
    34 #include <fcntl.h>
    3534#include <io/log.h>
    3635#include <str.h>
    3736#include <str_error.h>
    3837#include <sys/types.h>
    39 #include <sys/stat.h>
     38#include <vfs/vfs.h>
    4039
    4140#include "devman.h"
     
    201200        int fd;
    202201        size_t len = 0;
    203        
    204         fd = open(conf_path, O_RDONLY);
     202        struct stat st;
     203       
     204        fd = vfs_lookup_open(conf_path, WALK_REGULAR, MODE_READ);
    205205        if (fd < 0) {
    206206                log_msg(LOG_DEFAULT, LVL_ERROR, "Unable to open `%s' for reading: %s.",
     
    210210        opened = true;
    211211       
    212         len = lseek(fd, 0, SEEK_END);
    213         lseek(fd, 0, SEEK_SET);
     212        if (vfs_stat(fd, &st) != EOK) {
     213                log_msg(LOG_DEFAULT, LVL_ERROR, "Unable to fstat %d: %s.", fd,
     214                    str_error(errno));
     215                goto cleanup;
     216        }
     217        len = st.size;
    214218        if (len == 0) {
    215219                log_msg(LOG_DEFAULT, LVL_ERROR, "Configuration file '%s' is empty.",
     
    225229        }
    226230       
    227         ssize_t read_bytes = read(fd, buf, len);
     231        ssize_t read_bytes = vfs_read(fd, (aoff64_t []) {0}, buf, len);
    228232        if (read_bytes <= 0) {
    229233                log_msg(LOG_DEFAULT, LVL_ERROR, "Unable to read file '%s' (%d).", conf_path,
     
    239243       
    240244        if (opened)
    241                 close(fd);
     245                vfs_put(fd);
    242246       
    243247        return suc;
Note: See TracChangeset for help on using the changeset viewer.