From: Tilghman Lesher Date: Sun, 19 Feb 2006 17:11:02 +0000 (+0000) Subject: Bug 6539 - Division by two negates error flag X-Git-Tag: 1.2.7.1~134 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a0cf51877b80b3f7041df5533efb64a535549af;p=thirdparty%2Fasterisk.git Bug 6539 - Division by two negates error flag git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@10462 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/formats/format_sln.c b/formats/format_sln.c index 008a715bc3..c1a16618db 100644 --- a/formats/format_sln.c +++ b/formats/format_sln.c @@ -172,6 +172,7 @@ static int slinear_write(struct ast_filestream *fs, struct ast_frame *f) static int slinear_seek(struct ast_filestream *fs, long sample_offset, int whence) { off_t offset=0,min,cur,max; + int res; min = 0; sample_offset <<= 1; @@ -189,7 +190,12 @@ static int slinear_seek(struct ast_filestream *fs, long sample_offset, int whenc } /* always protect against seeking past begining. */ offset = (offset < min)?min:offset; - return fseek(fs->f, offset, SEEK_SET) / 2; + res = fseek(fs->f, offset, SEEK_SET); + /* Negative values indicate error */ + if (res > -1) + return res / 2; + else + return res; } static int slinear_trunc(struct ast_filestream *fs)