aboutsummaryrefslogtreecommitdiffstats
path: root/formats/format_gsm.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-20 23:35:12 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-20 23:35:12 +0000
commite8504c1dcecfd65acce1e93c3f3959e0b47fd11d (patch)
tree867b95de4af325e2b9e52f635b10137ffde176ba /formats/format_gsm.c
parente100a316d4ea686cc45a1d549a2e396579712e43 (diff)
Bug 5984 - Convert file offsets to 64 bit
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@10579 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'formats/format_gsm.c')
-rw-r--r--formats/format_gsm.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/formats/format_gsm.c b/formats/format_gsm.c
index 176c73a97..c6ef31f7e 100644
--- a/formats/format_gsm.c
+++ b/formats/format_gsm.c
@@ -195,14 +195,14 @@ static int gsm_write(struct ast_filestream *fs, struct ast_frame *f)
return 0;
}
-static int gsm_seek(struct ast_filestream *fs, long sample_offset, int whence)
+static int gsm_seek(struct ast_filestream *fs, off_t sample_offset, int whence)
{
off_t offset=0,min,cur,max,distance;
min = 0;
- cur = ftell(fs->f);
- fseek(fs->f, 0, SEEK_END);
- max = ftell(fs->f);
+ cur = ftello(fs->f);
+ fseeko(fs->f, 0, SEEK_END);
+ max = ftello(fs->f);
/* have to fudge to frame here, so not fully to sample */
distance = (sample_offset/160) * 33;
if(whence == SEEK_SET)
@@ -217,23 +217,23 @@ static int gsm_seek(struct ast_filestream *fs, long sample_offset, int whence)
offset = (offset > max)?max:offset;
} else if (offset > max) {
int i;
- fseek(fs->f, 0, SEEK_END);
+ fseeko(fs->f, 0, SEEK_END);
for (i=0; i< (offset - max) / 33; i++) {
fwrite(gsm_silence, 1, 33, fs->f);
}
}
- return fseek(fs->f, offset, SEEK_SET);
+ return fseeko(fs->f, offset, SEEK_SET);
}
static int gsm_trunc(struct ast_filestream *fs)
{
- return ftruncate(fileno(fs->f), ftell(fs->f));
+ return ftruncate(fileno(fs->f), ftello(fs->f));
}
-static long gsm_tell(struct ast_filestream *fs)
+static off_t gsm_tell(struct ast_filestream *fs)
{
off_t offset;
- offset = ftell(fs->f);
+ offset = ftello(fs->f);
return (offset/33)*160;
}