Changeset d145ecb in mainline for uspace/lib/riff


Ignore:
Timestamp:
2020-09-21T14:02:42Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
aaf962e6
Parents:
003c413
Message:

Libriff needs unit tests

Location:
uspace/lib/riff
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/riff/include/riff/chunk.h

    r003c413 rd145ecb  
    4545extern errno_t riff_wchunk_start(riffw_t *, riff_ckid_t, riff_wchunk_t *);
    4646extern errno_t riff_wchunk_end(riffw_t *, riff_wchunk_t *);
    47 extern errno_t riff_wchunk_write(riffw_t *, void *, size_t);
     47extern errno_t riff_write(riffw_t *, void *, size_t);
    4848extern errno_t riff_write_uint32(riffw_t *, uint32_t);
    4949
     
    5454extern errno_t riff_rchunk_end(riff_rchunk_t *);
    5555extern errno_t riff_read(riff_rchunk_t *, void *, size_t, size_t *);
     56extern uint32_t riff_rchunk_size(riff_rchunk_t *);
    5657
    5758#endif
  • uspace/lib/riff/meson.build

    r003c413 rd145ecb  
    3131        'src/rwave.c',
    3232)
     33
     34test_src = files(
     35        'test/chunk.c',
     36        'test/main.c',
     37        'test/rwave.c',
     38)
  • uspace/lib/riff/src/chunk.c

    r003c413 rd145ecb  
    152152
    153153        cksize = pos - wchunk->ckstart;
     154        if (pos % 2 != 0)
     155                ++pos;
    154156
    155157        if (fseek(rw->f, wchunk->ckstart - 4, SEEK_SET) < 0)
     
    176178 * @return EOK on success, EIO on error.
    177179 */
    178 errno_t riff_wchunk_write(riffw_t *rw, void *data, size_t bytes)
     180errno_t riff_write(riffw_t *rw, void *data, size_t bytes)
    179181{
    180182        size_t nw;
     
    281283                return rc;
    282284
     285        if (nread != sizeof(vle))
     286                return ELIMIT;
     287
    283288        *v = uint32_t_le2host(vle);
    284289        return EOK;
     
    315320error:
    316321        return rc;
     322}
     323
     324/** Return chunk data size.
     325 *
     326 * @param rchunk RIFF chunk
     327 * @return Pure data size (excluding type+size header) in bytes
     328 */
     329uint32_t riff_rchunk_size(riff_rchunk_t *rchunk)
     330{
     331        return rchunk->cksize;
    317332}
    318333
  • uspace/lib/riff/src/rwave.c

    r003c413 rd145ecb  
    137137                goto error;
    138138
    139         rc = riff_wchunk_write(ww->rw, &rwfmt, sizeof(rwfmt));
     139        rc = riff_write(ww->rw, &rwfmt, sizeof(rwfmt));
    140140        if (rc != EOK)
    141141                goto error;
     
    196196                }
    197197
    198                 rc = riff_wchunk_write(ww->rw, ww->buf, now);
     198                rc = riff_write(ww->rw, ww->buf, now);
    199199                if (rc != EOK) {
    200200                        assert(rc == EIO);
Note: See TracChangeset for help on using the changeset viewer.