Changeset 8973acd in buchla-68k for libcio/read.c


Ignore:
Timestamp:
07/15/2017 03:12:10 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
ea232f9
Parents:
7d0d347
Message:

No more warnings in libcio.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcio/read.c

    r7d0d347 r8973acd  
    3838#include "ram.h"
    3939
    40 static int16_t (*t_read[])(io_arg arg, int8_t *buff, int16_t len) = {
     40static int16_t (*t_read[])(io_arg arg, void *buff, int16_t len) = {
    4141
    4242        _badfio,        /* 0 - invalid type */
     
    5252*/
    5353
    54 int16_t read(int16_t fd, int8_t *buff, uint16_t len)
     54int16_t read(int16_t fd, void *buff, int16_t len)
    5555{
    5656        register struct channel *chp;
     
    7373*/
    7474
    75 int16_t _getsec(struct fcb *fp, int8_t *buf, uint16_t len)
     75int16_t _getsec(struct fcb *fp, void *buf, int16_t len)
    7676{
    7777        if ((errno = ReadRN(fp, Wrkbuf)) NE 0)  /* get current sector */
     
    9898*/
    9999
    100 int16_t _filerd(struct fcb *fp, int8_t *buffer, uint16_t len)
     100int16_t _filerd(io_arg arg, void *buffer, int16_t len)
    101101{
    102         register uint16_t l;
    103         register uint16_t j, k;
    104         register int32_t curpos, newpos;
     102        struct fcb *fp;
     103        int8_t *buffer8;
     104        register int16_t l;
     105        register int16_t j, k;
     106        register int32_t cpos, npos;
     107
     108        fp = (struct fcb *)arg;
     109        buffer8 = buffer;
    105110
    106111        l = 0;
    107         curpos = fp->offset + (fp->curlsn << FILESHFT);
    108         newpos = curpos + len;
     112        cpos = fp->offset + ((int32_t)fp->curlsn << FILESHFT);
     113        npos = cpos + len;
    109114
    110115#if     DEBUGIT
    111116        if (fsdebug)
    112117                printf("_filerd():  len=%u, curpos=%ld, newpos=%ld, curlen=%ld\n",
    113                         len, curpos, newpos, fp->curlen);
     118                        len, cpos, npos, fp->curlen);
    114119#endif
    115120
    116         if (newpos GT fp->curlen) {
     121        if (npos GT fp->curlen) {
    117122
    118                 len = fp->curlen - curpos;
     123                len = (int16_t)(fp->curlen - cpos);
    119124
    120125#if     DEBUGIT
     
    129134                        l = len;
    130135
    131                 if (_getsec(fp, buffer, l))     /* read what we can */
     136                if (_getsec(fp, buffer8, l))    /* read what we can */
    132137                        return(len);    /* return if ERROR */
    133138        }
    134139
    135         if (k = (len - l) / BPSEC)              /* see what we still need */
    136                         if ((j = blkrd(fp, buffer + l, k)) NE 0)
     140        if ((k = (len - l) / BPSEC)) {          /* see what we still need */
     141                if ((j = blkrd(fp, buffer8 + l, k)) NE 0)
    137142                        return((k - j) * BPSEC + l);    /* return bytes read */
     143        }
    138144
    139145        l += k * BPSEC;                 /* adjust l by what we just read */
    140146
    141147        if (l < len)    /* see if we still need a partial sector */
    142                 if (_getsec(fp, buffer + l, len - l))   /* read partial sector */
     148                if (_getsec(fp, buffer8 + l, len - l))  /* read partial sector */
    143149                        return(l);              /* return if ERROR or EOF */
    144150
Note: See TracChangeset for help on using the changeset viewer.