Changes in uspace/srv/fs/cdfs/cdfs_ops.c [94e3a03:0cebbac] in mainline
- File:
-
- 1 edited
-
uspace/srv/fs/cdfs/cdfs_ops.c (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/cdfs/cdfs_ops.c
r94e3a03 r0cebbac 42 42 #include <adt/hash_table.h> 43 43 #include <adt/hash.h> 44 #include <malloc.h> 44 45 #include <mem.h> 45 46 #include <loc.h> … … 48 49 #include <block.h> 49 50 #include <scsi/mmc.h> 50 #include <stdlib.h>51 51 #include <str.h> 52 52 #include <byteorder.h> … … 566 566 } 567 567 568 static intcdfs_readdir(cdfs_t *fs, fs_node_t *fs_node)568 static bool cdfs_readdir(cdfs_t *fs, fs_node_t *fs_node) 569 569 { 570 570 cdfs_node_t *node = CDFS_NODE(fs_node); … … 572 572 573 573 if (node->processed) 574 return EOK;574 return true; 575 575 576 576 uint32_t blocks = node->size / BLOCK_SIZE; … … 582 582 int rc = block_get(&block, fs->service_id, node->lba + i, BLOCK_FLAGS_NONE); 583 583 if (rc != EOK) 584 return rc;584 return false; 585 585 586 586 cdfs_dir_t *dir; … … 616 616 int rc = create_node(&fn, fs, dentry_type, 617 617 (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; 622 620 623 621 cdfs_node_t *cur = CDFS_NODE(fn); … … 628 626 dir->name_length, node->fs->enc, dentry_type); 629 627 if (name == NULL) 630 return EIO;628 return false; 631 629 632 630 // FIXME: check return value … … 643 641 644 642 node->processed = true; 645 return EOK;643 return true; 646 644 } 647 645 … … 963 961 964 962 /** Read the volume descriptors. */ 965 static intiso_read_vol_desc(service_id_t sid, cdfs_lba_t altroot,963 static bool iso_read_vol_desc(service_id_t sid, cdfs_lba_t altroot, 966 964 uint32_t *rlba, uint32_t *rsize, cdfs_enc_t *enc, char **vol_ident) 967 965 { … … 970 968 int rc = block_get(&block, sid, altroot + 16, BLOCK_FLAGS_NONE); 971 969 if (rc != EOK) 972 return rc;970 return false; 973 971 974 972 cdfs_vol_desc_t *vol_desc = (cdfs_vol_desc_t *) block->data; … … 982 980 (vol_desc->version != 1)) { 983 981 block_put(block); 984 return ENOTSUP;982 return false; 985 983 } 986 984 … … 1002 1000 */ 1003 1001 block_put(block); 1004 return ENOTSUP;1002 return false; 1005 1003 } 1006 1004 … … 1008 1006 if (block_size != BLOCK_SIZE) { 1009 1007 block_put(block); 1010 return ENOTSUP;1008 return false; 1011 1009 } 1012 1010 … … 1033 1031 1034 1032 block_put(block); 1035 return EOK;1036 } 1037 1038 static intiso_readfs(cdfs_t *fs, fs_node_t *rfn,1033 return true; 1034 } 1035 1036 static bool iso_readfs(cdfs_t *fs, fs_node_t *rfn, 1039 1037 cdfs_lba_t altroot) 1040 1038 { 1041 1039 cdfs_node_t *node = CDFS_NODE(rfn); 1042 1040 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; 1047 1044 1048 1045 return cdfs_readdir(fs, rfn); … … 1075 1072 1076 1073 /* Check if there is cdfs in given session */ 1077 if ( iso_readfs(fs, rfn, altroot) != EOK)1074 if (!iso_readfs(fs, rfn, altroot)) 1078 1075 goto error; 1079 1076 … … 1128 1125 uint32_t rsize; 1129 1126 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)) { 1133 1129 block_cache_fini(service_id); 1134 1130 block_fini(service_id); 1135 return rc;1131 return EIO; 1136 1132 } 1137 1133
Note:
See TracChangeset
for help on using the changeset viewer.
