@@ -45,7 +45,7 @@ static int write_block_header(snd_tplg_t *tplg, unsigned int type,
{
struct snd_soc_tplg_hdr hdr;
size_t bytes;
- int offset = lseek(tplg->out_fd, 0, SEEK_CUR);
+ off_t offset = lseek(tplg->out_fd, 0, SEEK_CUR);
memset(&hdr, 0, sizeof(hdr));
hdr.magic = SND_SOC_TPLG_MAGIC;
@@ -64,7 +64,7 @@ static int write_block_header(snd_tplg_t *tplg, unsigned int type,
" offset 0x%x is %s by %d bytes\n",
tplg->next_hdr_pos, offset,
(unsigned int)offset > tplg->next_hdr_pos ? "ahead" : "behind",
- abs(offset - tplg->next_hdr_pos));
+ labs(offset - (off_t)tplg->next_hdr_pos));
exit(-EINVAL);
}
next_hdr_pos is unsigned and promotes offset as such. This makes the abs call useless. Changed the abs call to labs and the offset to off_t to avoid this. Signed-off-by: Rosen Penev <rosenp@gmail.com> --- src/topology/builder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)