Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/cdfs/cdfs_ops.c

    r94e3a03 r0cebbac  
    4242#include <adt/hash_table.h>
    4343#include <adt/hash.h>
     44#include <malloc.h>
    4445#include <mem.h>
    4546#include <loc.h>
     
    4849#include <block.h>
    4950#include <scsi/mmc.h>
    50 #include <stdlib.h>
    5151#include <str.h>
    5252#include <byteorder.h>
     
    566566}
    567567
    568 static int cdfs_readdir(cdfs_t *fs, fs_node_t *fs_node)
     568static bool cdfs_readdir(cdfs_t *fs, fs_node_t *fs_node)
    569569{
    570570        cdfs_node_t *node = CDFS_NODE(fs_node);
     
    572572       
    573573        if (node->processed)
    574                 return EOK;
     574                return true;
    575575       
    576576        uint32_t blocks = node->size / BLOCK_SIZE;
     
    582582                int rc = block_get(&block, fs->service_id, node->lba + i, BLOCK_FLAGS_NONE);
    583583                if (rc != EOK)
    584                         return rc;
     584                        return false;
    585585               
    586586                cdfs_dir_t *dir;
     
    616616                        int rc = create_node(&fn, fs, dentry_type,
    617617                            (node->lba + i) * BLOCK_SIZE + offset);
    618                         if (rc != EOK)
    619                                 return rc;
    620 
    621                         assert(fn != NULL);
     618                        if ((rc != EOK) || (fn == NULL))
     619                                return false;
    622620                       
    623621                        cdfs_node_t *cur = CDFS_NODE(fn);
     
    628626                            dir->name_length, node->fs->enc, dentry_type);
    629627                        if (name == NULL)
    630                                 return EIO;
     628                                return false;
    631629                       
    632630                        // FIXME: check return value
     
    643641       
    644642        node->processed = true;
    645         return EOK;
     643        return true;
    646644}
    647645
     
    963961
    964962/** Read the volume descriptors. */
    965 static int iso_read_vol_desc(service_id_t sid, cdfs_lba_t altroot,
     963static bool iso_read_vol_desc(service_id_t sid, cdfs_lba_t altroot,
    966964    uint32_t *rlba, uint32_t *rsize, cdfs_enc_t *enc, char **vol_ident)
    967965{
     
    970968        int rc = block_get(&block, sid, altroot + 16, BLOCK_FLAGS_NONE);
    971969        if (rc != EOK)
    972                 return rc;
     970                return false;
    973971       
    974972        cdfs_vol_desc_t *vol_desc = (cdfs_vol_desc_t *) block->data;
     
    982980            (vol_desc->version != 1)) {
    983981                block_put(block);
    984                 return ENOTSUP;
     982                return false;
    985983        }
    986984       
     
    10021000                 */
    10031001                block_put(block);
    1004                 return ENOTSUP;
     1002                return false;
    10051003        }
    10061004       
     
    10081006        if (block_size != BLOCK_SIZE) {
    10091007                block_put(block);
    1010                 return ENOTSUP;
     1008                return false;
    10111009        }
    10121010       
     
    10331031       
    10341032        block_put(block);
    1035         return EOK;
    1036 }
    1037 
    1038 static int iso_readfs(cdfs_t *fs, fs_node_t *rfn,
     1033        return true;
     1034}
     1035
     1036static bool iso_readfs(cdfs_t *fs, fs_node_t *rfn,
    10391037    cdfs_lba_t altroot)
    10401038{
    10411039        cdfs_node_t *node = CDFS_NODE(rfn);
    10421040       
    1043         int rc = iso_read_vol_desc(fs->service_id, altroot, &node->lba,
    1044             &node->size, &fs->enc, &fs->vol_ident);
    1045         if (rc != EOK)
    1046                 return rc;
     1041        if (!iso_read_vol_desc(fs->service_id, altroot, &node->lba,
     1042            &node->size, &fs->enc, &fs->vol_ident))
     1043                return false;
    10471044       
    10481045        return cdfs_readdir(fs, rfn);
     
    10751072       
    10761073        /* Check if there is cdfs in given session */
    1077         if (iso_readfs(fs, rfn, altroot) != EOK)
     1074        if (!iso_readfs(fs, rfn, altroot))
    10781075                goto error;
    10791076       
     
    11281125        uint32_t rsize;
    11291126        cdfs_enc_t enc;
    1130         rc = iso_read_vol_desc(service_id, altroot, &rlba, &rsize, &enc,
    1131             &vol_ident);
    1132         if (rc != EOK) {
     1127        if (!iso_read_vol_desc(service_id, altroot, &rlba, &rsize, &enc,
     1128            &vol_ident)) {
    11331129                block_cache_fini(service_id);
    11341130                block_fini(service_id);
    1135                 return rc;
     1131                return EIO;
    11361132        }
    11371133       
Note: See TracChangeset for help on using the changeset viewer.