src/dirbuf.c
changeset 28 e944453ca924
parent 27 461be4cd34a3
child 40 03017f5f0087
equal deleted inserted replaced
27:461be4cd34a3 28:e944453ca924
     4 #include "dirbuf.h"
     4 #include "dirbuf.h"
     5 #include "lib/log.h"
     5 #include "lib/log.h"
     6 #include "lib/math.h"
     6 #include "lib/math.h"
     7 
     7 
     8 int dirbuf_init (struct dirbuf *buf, size_t req_size, off_t req_off) {
     8 int dirbuf_init (struct dirbuf *buf, size_t req_size, off_t req_off) {
       
     9     buf->buf = NULL;
     9     buf->len = req_size;
    10     buf->len = req_size;
       
    11     buf->off = 0;
    10     buf->req_off = req_off;
    12     buf->req_off = req_off;
    11     
    13     
    12     DEBUG("\tdirbuf.init: req_size=%zu", req_size);
    14     DEBUG("\tdirbuf.init: req_size=%zu", req_size);
    13 
    15 
    14     // allocate the mem
    16     // allocate the mem
    38 int dirbuf_add (fuse_req_t req, struct dirbuf *buf, off_t ent_off, off_t next_off, const char *ent_name, fuse_ino_t ent_ino, mode_t ent_mode) {
    40 int dirbuf_add (fuse_req_t req, struct dirbuf *buf, off_t ent_off, off_t next_off, const char *ent_name, fuse_ino_t ent_ino, mode_t ent_mode) {
    39     struct stat stbuf;
    41     struct stat stbuf;
    40     size_t ent_size;
    42     size_t ent_size;
    41 
    43 
    42     DEBUG("\tdirbuf.add: req_off=%zu, buf->len=%zu, buf->off=%zu, ent_off=%zu, next_off=%zu, ent_name=`%s`, ent_ino=%lu, ent_mode=%07o",
    44     DEBUG("\tdirbuf.add: req_off=%zu, buf->len=%zu, buf->off=%zu, ent_off=%zu, next_off=%zu, ent_name=`%s`, ent_ino=%lu, ent_mode=%07o",
    43         req_off, buf->len, buf->off, ent_off, next_off, ent_name, ent_ino, ent_mode);
    45         buf->req_off, buf->len, buf->off, ent_off, next_off, ent_name, ent_ino, ent_mode);
    44     
    46     
    45     // skip entries as needed
    47     // skip entries as needed
    46     if (ent_off < buf->req_off) 
    48     if (ent_off < buf->req_off) 
    47         return 0;
    49         return 0;
    48 
    50