Changeset ed903174 in mainline for uspace/srv/fs/fat/fat_ops.c
- Timestamp:
- 2010-02-10T23:51:23Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e70edd1
- Parents:
- b32c604f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/fat/fat_ops.c
rb32c604f red903174 45 45 #include <ipc/services.h> 46 46 #include <ipc/devmap.h> 47 #include <macros.h> 47 48 #include <async.h> 48 49 #include <errno.h> … … 79 80 static int fat_has_children(bool *, fs_node_t *); 80 81 static fs_index_t fat_index_get(fs_node_t *); 81 static size_t fat_size_get(fs_node_t *);82 static aoff64_t fat_size_get(fs_node_t *); 82 83 static unsigned fat_lnkcnt_get(fs_node_t *); 83 84 static char fat_plb_get_char(unsigned); … … 738 739 goto skip_dots; 739 740 } 740 d = (fat_dentry_t *) b->data;741 if ( fat_classify_dentry(d) == FAT_DENTRY_LAST||742 str_cmp(d->name, FAT_NAME_DOT) == 0) {741 d = (fat_dentry_t *) b->data; 742 if ((fat_classify_dentry(d) == FAT_DENTRY_LAST) || 743 (str_cmp((char *) d->name, FAT_NAME_DOT)) == 0) { 743 744 memset(d, 0, sizeof(fat_dentry_t)); 744 str_cpy( d->name, 8, FAT_NAME_DOT);745 str_cpy( d->ext, 3, FAT_EXT_PAD);745 str_cpy((char *) d->name, 8, FAT_NAME_DOT); 746 str_cpy((char *) d->ext, 3, FAT_EXT_PAD); 746 747 d->attr = FAT_ATTR_SUBDIR; 747 748 d->firstc = host2uint16_t_le(childp->firstc); … … 749 750 } 750 751 d++; 751 if ( fat_classify_dentry(d) == FAT_DENTRY_LAST||752 str_cmp(d->name, FAT_NAME_DOT_DOT) == 0) {752 if ((fat_classify_dentry(d) == FAT_DENTRY_LAST) || 753 (str_cmp((char *) d->name, FAT_NAME_DOT_DOT) == 0)) { 753 754 memset(d, 0, sizeof(fat_dentry_t)); 754 str_cpy( d->name, 8, FAT_NAME_DOT_DOT);755 str_cpy( d->ext, 3, FAT_EXT_PAD);755 str_cpy((char *) d->name, 8, FAT_NAME_DOT_DOT); 756 str_cpy((char *) d->ext, 3, FAT_EXT_PAD); 756 757 d->attr = FAT_ATTR_SUBDIR; 757 758 d->firstc = (parentp->firstc == FAT_CLST_ROOT) ? … … 915 916 } 916 917 917 size_t fat_size_get(fs_node_t *fn)918 aoff64_t fat_size_get(fs_node_t *fn) 918 919 { 919 920 return FAT_NODE(fn)->size; … … 1157 1158 void fat_read(ipc_callid_t rid, ipc_call_t *request) 1158 1159 { 1159 dev_handle_t dev_handle = (dev_handle_t)IPC_GET_ARG1(*request); 1160 fs_index_t index = (fs_index_t)IPC_GET_ARG2(*request); 1161 off_t pos = (off_t)IPC_GET_ARG3(*request); 1160 dev_handle_t dev_handle = (dev_handle_t) IPC_GET_ARG1(*request); 1161 fs_index_t index = (fs_index_t) IPC_GET_ARG2(*request); 1162 aoff64_t pos = 1163 (aoff64_t) MERGE_LOUP32(IPC_GET_ARG3(*request), IPC_GET_ARG4(*request)); 1162 1164 fs_node_t *fn; 1163 1165 fat_node_t *nodep; … … 1223 1225 } else { 1224 1226 unsigned bnum; 1225 off_t spos = pos;1227 aoff64_t spos = pos; 1226 1228 char name[FAT_NAME_LEN + 1 + FAT_EXT_LEN + 1]; 1227 1229 fat_dentry_t *d; … … 1239 1241 bnum = (pos * sizeof(fat_dentry_t)) / bps; 1240 1242 while (bnum < nodep->size / bps) { 1241 off_t o;1243 aoff64_t o; 1242 1244 1243 1245 rc = fat_block_get(&b, bs, nodep, bnum, … … 1295 1297 void fat_write(ipc_callid_t rid, ipc_call_t *request) 1296 1298 { 1297 dev_handle_t dev_handle = (dev_handle_t)IPC_GET_ARG1(*request); 1298 fs_index_t index = (fs_index_t)IPC_GET_ARG2(*request); 1299 off_t pos = (off_t)IPC_GET_ARG3(*request); 1299 dev_handle_t dev_handle = (dev_handle_t) IPC_GET_ARG1(*request); 1300 fs_index_t index = (fs_index_t) IPC_GET_ARG2(*request); 1301 aoff64_t pos = 1302 (aoff64_t) MERGE_LOUP32(IPC_GET_ARG3(*request), IPC_GET_ARG4(*request)); 1300 1303 fs_node_t *fn; 1301 1304 fat_node_t *nodep; … … 1306 1309 unsigned spc; 1307 1310 unsigned bpc; /* bytes per cluster */ 1308 off_t boundary;1311 aoff64_t boundary; 1309 1312 int flags = BLOCK_FLAGS_NONE; 1310 1313 int rc; … … 1452 1455 void fat_truncate(ipc_callid_t rid, ipc_call_t *request) 1453 1456 { 1454 dev_handle_t dev_handle = (dev_handle_t)IPC_GET_ARG1(*request); 1455 fs_index_t index = (fs_index_t)IPC_GET_ARG2(*request); 1456 size_t size = (off_t)IPC_GET_ARG3(*request); 1457 dev_handle_t dev_handle = (dev_handle_t) IPC_GET_ARG1(*request); 1458 fs_index_t index = (fs_index_t) IPC_GET_ARG2(*request); 1459 aoff64_t size = 1460 (aoff64_t) MERGE_LOUP32(IPC_GET_ARG3(*request), IPC_GET_ARG4(*request)); 1457 1461 fs_node_t *fn; 1458 1462 fat_node_t *nodep;
Note:
See TracChangeset
for help on using the changeset viewer.