* http.c: HTTP access plug-in
*****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN
- * $Id: http.c,v 1.45 2003/09/10 15:50:25 zorglub Exp $
+ * $Id: http.c,v 1.47 2003/12/21 23:32:58 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* Preamble
*****************************************************************************/
#include <stdlib.h>
-#include <string.h>
#include <vlc/vlc.h>
#include <vlc/input.h>
#define PROXY_TEXT N_("Specify an HTTP proxy")
#define PROXY_LONGTEXT N_( \
"Specify an HTTP proxy to use. It must be in the form " \
- "http://myproxy.mydomain:myport. If none is specified, the HTTP_PROXY " \
+ "http://myproxy.mydomain:myport/. If none is specified, the HTTP_PROXY " \
"environment variable will be tried." )
#define CACHING_TEXT N_("Caching value in ms")
"Range: bytes="I64Fd"-\r\n"
HTTP_USERAGENT
"%s"
+ "Connection: Close\r\n"
HTTP_END,
p_access_data->psz_buffer, i_tell, p_access_data->psz_auth_string );
}
"%s"
HTTP_USERAGENT
"%s"
+ "Connection: Close\r\n"
HTTP_END,
p_access_data->psz_buffer, p_access_data->psz_auth_string );
}
psz_parser += strlen("HTTP/1.x");
i_size -= strlen("HTTP/1.x");
-
}
else if( ( (size_t)i_size >= strlen("ICY") &&
!strncmp( psz_parser, "ICY", strlen("ICY") ) ) )
msg_Err( p_input, "invalid HTTP reply '%s'", psz_parser );
return VLC_EGENERIC;
}
-
+
/* Check for buggy Icecast servers */
if( strstr( psz_parser , "x-audiocast") )
{
p_input->psz_demux = "mp3"; // FIXME strdup ?
}
}
-
+
/* Check the HTTP return code */
i_code = atoi( (char*)psz_parser );
msg_Dbg( p_input, "%s server replied: %i",
if( !strcasecmp( psz_line, "Content-Length" ) )
{
off_t i_size = 0;
-#ifdef HAVE_ATOLL
- i_size = i_tell + atoll( psz_value );
-#else
- int sign = 1;
- if( *psz_value == '-' ) sign = -1;
- while( *psz_value >= '0' && *psz_value <= '9' )
- {
- i_size = i_size * 10 + *psz_value++ - '0';
- }
- i_size = i_tell + ( i_size * sign );
-#endif
+ i_size = i_tell + atoll( psz_value );
msg_Dbg( p_input, "stream size is "I64Fd, i_size );
vlc_mutex_lock( &p_input->stream.stream_lock );