From 9e10e88cd230f718ce841340f21452c04ad9e0a7 Mon Sep 17 00:00:00 2001 From: russell Date: Fri, 26 Jun 2009 21:21:48 +0000 Subject: Merged revisions 203785 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203785 | russell | 2009-06-26 16:16:39 -0500 (Fri, 26 Jun 2009) | 15 lines Don't fast forward past the end of a message. This is nice change for users of the voicemail application. If someone gets a little carried away with fast forwarding through a message, they can easily get to the end and accidentally exit the voicemail application by hitting the fast forward key during the following prompt. This adds some safety by not allowing a fast forward past the end of a message. (closes issue #14554) Reported by: lacoursj Patches: 21761.patch uploaded by lacoursj (license 707) Tested by: lacoursj ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203802 f38db490-d61c-443f-a65b-d21fe96a405b --- main/file.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'main/file.c') diff --git a/main/file.c b/main/file.c index ca7070351..c89cee97c 100644 --- a/main/file.c +++ b/main/file.c @@ -1227,7 +1227,14 @@ static int waitstream_core(struct ast_channel *c, const char *breakon, } else { res = fr->subclass; if (strchr(forward, res)) { + int eoftest; ast_stream_fastforward(c->stream, skip_ms); + eoftest = fgetc(c->stream->f); + if (feof(c->stream->f)) { + ast_stream_rewind(c->stream, skip_ms); + } else { + ungetc(eoftest, c->stream->f); + } } else if (strchr(reverse, res)) { ast_stream_rewind(c->stream, skip_ms); } else if (strchr(breakon, res)) { -- cgit v1.2.3