Subversion Repositories HelenOS

Rev

Rev 4509 | Rev 4550 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4509 Rev 4549
Line 472... Line 472...
472
            *bufpos += rd;
472
            *bufpos += rd;
473
            *pos += rd;
473
            *pos += rd;
474
            left -= rd;
474
            left -= rd;
475
        }
475
        }
476
       
476
       
477
        if (*bufpos == *buflen) {
477
        if (*bufpos == (off_t) *buflen) {
478
            /* Refill the communication buffer with a new block. */
478
            /* Refill the communication buffer with a new block. */
479
            ipcarg_t retval;
479
            ipcarg_t retval;
480
            int rc = async_req_2_1(devcon->dev_phone, BD_READ_BLOCK,
480
            int rc = async_req_2_1(devcon->dev_phone, BD_READ_BLOCK,
481
                *pos / block_size, block_size, &retval);
481
                *pos / block_size, block_size, &retval);
482
            if ((rc != EOK) || (retval != EOK))
482
            if ((rc != EOK) || (retval != EOK))
483
                return (rc != EOK ? rc : retval);
483
                return (rc != EOK ? rc : (int) retval);
484
           
484
           
485
            *bufpos = 0;
485
            *bufpos = 0;
486
            *buflen = block_size;
486
            *buflen = block_size;
487
        }
487
        }
488
    }
488
    }