Changeset 0143f72 in mainline
- Timestamp:
- 2009-07-02T15:01:08Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bb8dc88
- Parents:
- 271283b
- Location:
- uspace
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libfs/libfs.c
r271283b r0143f72 440 440 size_t size; 441 441 if (!ipc_data_read_receive(&callid, &size) || 442 size <sizeof(struct stat)) {442 size != sizeof(struct stat)) { 443 443 ipc_answer_0(callid, EINVAL); 444 444 ipc_answer_0(rid, EINVAL); … … 446 446 } 447 447 448 struct stat *stat = malloc(sizeof(struct stat)); 449 if (!stat) { 450 ipc_answer_0(callid, ENOMEM); 451 ipc_answer_0(rid, ENOMEM); 452 return; 453 } 454 memset(stat, 0, sizeof(struct stat)); 455 456 stat->fs_handle = fs_handle; 457 stat->dev_handle = dev_handle; 458 stat->index = index; 459 stat->lnkcnt = ops->lnkcnt_get(fn); 460 stat->is_file = ops->is_file(fn); 461 stat->size = ops->size_get(fn); 462 463 ipc_data_read_finalize(callid, stat, sizeof(struct stat)); 448 struct stat stat; 449 memset(&stat, 0, sizeof(struct stat)); 450 451 stat.fs_handle = fs_handle; 452 stat.dev_handle = dev_handle; 453 stat.index = index; 454 stat.lnkcnt = ops->lnkcnt_get(fn); 455 stat.is_file = ops->is_file(fn); 456 stat.size = ops->size_get(fn); 457 458 ipc_data_read_finalize(callid, &stat, sizeof(struct stat)); 464 459 ipc_answer_0(rid, EOK); 465 466 free(stat);467 460 } 468 461 -
uspace/srv/fs/devfs/devfs_ops.c
r271283b r0143f72 287 287 size_t size; 288 288 if (!ipc_data_read_receive(&callid, &size) || 289 size <sizeof(struct stat)) {289 size != sizeof(struct stat)) { 290 290 ipc_answer_0(callid, EINVAL); 291 291 ipc_answer_0(rid, EINVAL); … … 293 293 } 294 294 295 struct stat *stat = malloc(sizeof(struct stat)); 296 if (!stat) { 297 ipc_answer_0(callid, ENOMEM); 298 ipc_answer_0(rid, ENOMEM); 299 return; 300 } 301 memset(stat, 0, sizeof(struct stat)); 302 303 stat->fs_handle = devfs_reg.fs_handle; 304 stat->dev_handle = dev_handle; 305 stat->index = index; 306 stat->lnkcnt = 1; 307 stat->is_file = (index != 0); 308 stat->size = 0; 295 struct stat stat; 296 memset(&stat, 0, sizeof(struct stat)); 297 298 stat.fs_handle = devfs_reg.fs_handle; 299 stat.dev_handle = dev_handle; 300 stat.index = index; 301 stat.lnkcnt = 1; 302 stat.is_file = (index != 0); 303 stat.size = 0; 309 304 310 305 if (index != 0) { … … 316 311 link_t *lnk = hash_table_find(&devices, key); 317 312 if (lnk != NULL) 318 stat ->devfs_stat.device = (dev_handle_t)index;313 stat.devfs_stat.device = (dev_handle_t)index; 319 314 fibril_mutex_unlock(&devices_mutex); 320 315 } 321 316 322 ipc_data_read_finalize(callid, stat, sizeof(struct stat));317 ipc_data_read_finalize(callid, &stat, sizeof(struct stat)); 323 318 ipc_answer_0(rid, EOK); 324 325 free(stat);326 319 } 327 320
Note:
See TracChangeset
for help on using the changeset viewer.