Changeset 0c243b4 in mainline for uspace/lib/libblock/libblock.c


Ignore:
Timestamp:
2008-11-02T10:32:42Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f1ba5d6
Parents:
6284978
Message:

block_read() should return the real error code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libblock/libblock.c

    r6284978 r0c243b4  
    177177{
    178178        void *bb_buf;
     179        int rc;
    179180
    180181        devcon_t *devcon = devcon_search(dev_handle);
     
    189190        off_t bufpos = 0;
    190191        size_t buflen = 0;
    191         if (!block_read(dev_handle, &bufpos, &buflen, &off,
    192             bb_buf, size, size)) {
     192        rc = block_read(dev_handle, &bufpos, &buflen, &off,
     193            bb_buf, size, size);
     194        if (rc != EOK) {
    193195                free(bb_buf);
    194                 return EIO;     /* XXX real error code */
     196                return rc;
    195197        }
    196198        devcon->bb_buf = bb_buf;
     
    220222 * @param block_size    Block size to be used for the transfer.
    221223 *
    222  * @return              True on success, false on failure.
     224 * @return              EOK on success or a negative return code on failure.
    223225 */
    224 bool
     226int
    225227block_read(int dev_handle, off_t *bufpos, size_t *buflen, off_t *pos, void *dst,
    226228    size_t size, size_t block_size)
     
    257259                            *pos / block_size, block_size, &retval);
    258260                        if ((rc != EOK) || (retval != EOK))
    259                                 return false;
     261                                return (rc != EOK ? rc : retval);
    260262                       
    261263                        *bufpos = 0;
     
    264266        }
    265267       
    266         return true;
     268        return EOK;
    267269}
    268270
     
    286288        b->size = bs;
    287289
    288         if (!block_read(dev_handle, &bufpos, &buflen, &pos, b->data,
    289             bs, bs)) {
     290        if (block_read(dev_handle, &bufpos, &buflen, &pos, b->data,
     291            bs, bs) != EOK) {
    290292                free(b->data);
    291293                free(b);
Note: See TracChangeset for help on using the changeset viewer.