src/dbfs/common.c
changeset 30 d8fabd347a8e
parent 29 5de62ca9a5aa
child 31 7804cd7b5cd5
equal deleted inserted replaced
29:5de62ca9a5aa 30:d8fabd347a8e
    48 
    48 
    49 int _dbfs_stat_info (struct stat *st, const struct evsql_result_info *res, size_t row, size_t col_offset) {
    49 int _dbfs_stat_info (struct stat *st, const struct evsql_result_info *res, size_t row, size_t col_offset) {
    50     int err = 0;
    50     int err = 0;
    51     
    51     
    52     uint16_t mode;
    52     uint16_t mode;
    53     uint64_t size, nlink;
    53     uint32_t size = 0;  // NULL for non-REG inodes
       
    54     uint64_t nlink;
    54     const char *type;
    55     const char *type;
    55     
    56     
    56     // extract the data
    57     // extract the data
    57     if (0
    58     if (0
    58         ||  evsql_result_string(res, row, col_offset + 0, &type,       0 ) // inodes.type
    59         ||  evsql_result_string(res, row, col_offset + 0, &type,       0 ) // inodes.type
    59         ||  evsql_result_uint16(res, row, col_offset + 1, &mode,       0 ) // inodes.mode
    60         ||  evsql_result_uint16(res, row, col_offset + 1, &mode,       0 ) // inodes.mode
    60         ||  evsql_result_uint64(res, row, col_offset + 2, &size,       0 ) // inodes.size
    61         ||  evsql_result_uint32(res, row, col_offset + 2, &size,       1 ) // size
    61         ||  evsql_result_uint64(res, row, col_offset + 3, &nlink,      0 ) // count(*)
    62         ||  evsql_result_uint64(res, row, col_offset + 3, &nlink,      0 ) // count(*)
    62     )
    63     )
    63         EERROR(err = EIO, "invalid db data");
    64         EERROR(err = EIO, "invalid db data");
    64 
    65 
    65     INFO("\tst_mode=S_IF%s | %ho, st_nlink=%llu, st_size=%llu", type, mode, (long long unsigned int) nlink, (long long unsigned int) size);
    66     INFO("\tst_mode=S_IF%s | %ho, st_nlink=%llu, st_size=%llu", type, mode, (long long unsigned int) nlink, (long long unsigned int) size);