From a5088f9f23a81d757fdb6824696b67274696c078 Mon Sep 17 00:00:00 2001 From: methodus Date: Sat, 27 Oct 2012 01:37:47 +0200 Subject: Fixed type bug in parsing Range header. --- httptnt/resourceStreamer.ecpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'httptnt') diff --git a/httptnt/resourceStreamer.ecpp b/httptnt/resourceStreamer.ecpp index 5d26a43..d83e0d4 100644 --- a/httptnt/resourceStreamer.ecpp +++ b/httptnt/resourceStreamer.ecpp @@ -17,6 +17,9 @@ int resourceID = 0; using namespace upnp; +<%request> + boost::shared_ptr streamer; + <# int doRequest(tnt::HttpReply reply, tnt::HttpRequest request, std::string objectID, int resourceID) { #> @@ -28,7 +31,7 @@ int doRequest(tnt::HttpReply reply, tnt::HttpRequest request, std::string object cMediaServer* server = cMediaServer::GetInstance(); cMediaManager& manager = server->GetManager(); - boost::shared_ptr streamer(manager.GetResourceStreamer(objectID, resourceID)); + streamer = boost::shared_ptr(manager.GetResourceStreamer(objectID, resourceID)); if(!streamer.get()){ reply.out() << "Object ID not found or invalid"; @@ -55,8 +58,8 @@ int doRequest(tnt::HttpReply reply, tnt::HttpRequest request, std::string object if(rangeRequest.find("bytes=",0) == 0){ unsigned int minus = rangeRequest.find_first_of('-',6); if(minus != std::string::npos){ - from = atoi(rangeRequest.substr(6, minus - 6).c_str()); - to = atoi(rangeRequest.substr(minus + 1).c_str()); + from = atol(rangeRequest.substr(6, minus - 6).c_str()); + to = atol(rangeRequest.substr(minus + 1).c_str()); if(from){ // If range is off the road, reset it to correct values. if(from <= 0 || from > contentLength) from = 0; -- cgit v1.2.3