X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_url.h;h=ef163d42cbda9062ce9144b4f853561af16076b1;hb=12ade3e3bc975d5426ba4af155b7372c31093b31;hp=b38bee2e192efe1c88401fe7945deec841c9d682;hpb=889362b53c52e8565b1e76b246f9667139b248ae;p=vlc diff --git a/include/vlc_url.h b/include/vlc_url.h index b38bee2e19..ef163d42cb 100644 --- a/include/vlc_url.h +++ b/include/vlc_url.h @@ -22,14 +22,15 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#if !defined( __LIBVLC__ ) - #error You are not libvlc or one of its plugins. You cannot include this file -#endif +#ifndef VLC_URL_H +# define VLC_URL_H -#ifndef __VLC_URL_H -# define __VLC_URL_H +/** + * \file + * This file defines functions for manipulating URL in vlc + */ -typedef struct +struct vlc_url_t { char *psz_protocol; char *psz_username; @@ -42,13 +43,13 @@ typedef struct char *psz_option; char *psz_buffer; /* to be freed */ -} vlc_url_t; +}; -VLC_EXPORT( char *, unescape_URI_duplicate, ( const char *psz ) ); -VLC_EXPORT( void, unescape_URI, ( char *psz ) ); VLC_EXPORT( char *, decode_URI_duplicate, ( const char *psz ) ); -VLC_EXPORT( void, decode_URI, ( char *psz ) ); +VLC_EXPORT( char *, decode_URI, ( char *psz ) ); VLC_EXPORT( char *, encode_URI_component, ( const char *psz ) ); +VLC_EXPORT( char *, make_URI, ( const char *path, const char *scheme ) ); +VLC_EXPORT( char *, make_path, ( const char *url ) ); /***************************************************************************** * vlc_UrlParse: @@ -84,7 +85,6 @@ static inline void vlc_UrlParse( vlc_url_t *url, const char *psz_url, p = strstr( psz_parse, ":/" ); if( p != NULL ) { - char *p2; for( p2 = psz_parse; p2 < p; p2++ ) { #define I(i,a,b) ( (a) <= (i) && (i) <= (b) ) @@ -131,8 +131,6 @@ static inline void vlc_UrlParse( vlc_url_t *url, const char *psz_url, p = strchr( psz_parse, '/' ); if( !p || psz_parse < p ) { - char *p2; - /* We have a host[:port] */ url->psz_host = strdup( psz_parse ); if( p ) @@ -182,8 +180,8 @@ static inline void vlc_UrlParse( vlc_url_t *url, const char *psz_url, *****************************************************************************/ static inline void vlc_UrlClean( vlc_url_t *url ) { - if( url->psz_buffer ) free( url->psz_buffer ); - if( url->psz_host ) free( url->psz_host ); + free( url->psz_buffer ); + free( url->psz_host ); url->psz_protocol = NULL; url->psz_username = NULL; @@ -196,13 +194,6 @@ static inline void vlc_UrlClean( vlc_url_t *url ) url->psz_buffer = NULL; } - -static inline char *vlc_UrlEncode( const char *psz_url ) -{ - /* FIXME: do not encode / : ? and & _when_ not needed */ - return encode_URI_component( psz_url ); -} - #include /** Check whether a given string is not a valid URL and must hence be @@ -231,5 +222,4 @@ static inline int vlc_UrlIsNotEncoded( const char *psz_url ) return 0; /* looks fine - but maybe it is not encoded */ } - #endif