From 07a6cd45929fc8364a6a5e0bda2f262fb3d6e89d Mon Sep 17 00:00:00 2001
From: Anthony Minessale II <anthmct@yahoo.com>
Date: Thu, 23 Sep 2004 15:26:01 +0000
Subject: [PATCH] allow file arg in ast_control_streamfile to accept trailing
 :end to indicate an instant seek ti the end.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 app.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/app.c b/app.c
index eb1a37e0a8..fe6af02018 100755
--- a/app.c
+++ b/app.c
@@ -416,6 +416,7 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char
 	struct timeval started, ended;
 	long elapsed = 0,last_elapsed =0;
 	char *breaks=NULL;
+	char *end=NULL;
 	int blen=2;
 	int res=0;
 
@@ -436,6 +437,13 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char
 	if (chan)
 		ast_stopstream(chan);
 
+	if(file) {
+        end = strchr(file,':');
+        if(!strcasecmp(end,":end")) {
+            *end = '\0';
+            end++;
+        }
+    }
 	for (;;) {
 		gettimeofday(&started,NULL);
 
@@ -443,6 +451,10 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char
 			ast_stopstream(chan);
 		res = ast_streamfile(chan, file, chan->language);
 		if (!res) {
+			if(end) {
+				ast_seekstream(chan->stream, 0, SEEK_END);
+				end=NULL;
+			}
 			res = 1;
 			if (elapsed) {
 				ast_stream_fastforward(chan->stream, elapsed);
-- 
GitLab