[vlc-devel] [vlc-commits] commit: FileToUrl: constify ( Rémi Denis-Courmont )

Geoffroy Couprie geo.couprie at gmail.com
Wed Mar 10 18:59:52 CET 2010


On Tue, Mar 9, 2010 at 10:49 PM,  <git at videolan.org> wrote:
> vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Mar  9 23:41:47 2010 +0200| [924ed95fdb21cad0be138ea5600fcc7b0b848725] | committer: Rémi Denis-Courmont
>
> FileToUrl: constify
>
>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=924ed95fdb21cad0be138ea5600fcc7b0b848725
> ---
>
>  modules/control/http/util.c |   46 +++++++++++++++----------------------------
>  1 files changed, 16 insertions(+), 30 deletions(-)
>
> diff --git a/modules/control/http/util.c b/modules/control/http/util.c
> index adeea06..1b26dee 100644
> --- a/modules/control/http/util.c
> +++ b/modules/control/http/util.c
> @@ -40,49 +40,35 @@
>  ****************************************************************************/
>
>  /* ToUrl: create a good name for an url from filename */
> -static char *FileToUrl( char *name, bool *pb_index )
> +static char *FileToUrl( const char *name, bool *pb_index )
>  {
> -    char *url, *p;
> -
> -    url = p = malloc( strlen( name ) + 1 );
> -
>     *pb_index = false;
> -    if( !url || !p )
> -    {
> +
> +    char *url = malloc( strlen( name ) + 2 );
> +    if( unlikely(url == NULL) )
>         return NULL;
> -    }
>
> -#ifdef WIN32
> -    while( *name == '\\' || *name == '/' )
> +#if (DIR_SEP_CHAR == '/')
> +    name += strspn( name, "/" );
>  #else
> -    while( *name == '/' )
> +    name += strspn( name, "/"DIR_SEP );
>  #endif
> -    {
> -        name++;
> -    }
> +    *url = '/';
> +    strcpy( url + 1, name );
>
> -    *p++ = '/';
> -    strcpy( p, name );
> -
> -#ifdef WIN32
> +#if (DIR_SEP_CHAR != '/')
>     /* convert '\\' into '/' */
> -    name = p;
> -    while( *name )
> -    {
> -        if( *name == '\\' )
> +    for( char *ptr = url; *ptr; ptr++ )
> +        if( *ptr == DIR_SEP_CHAR )
>             *name = '/';
> -        name++;
> -    }
>  #endif
>
>     /* index.* -> / */
> -    if( ( p = strrchr( url, '/' ) ) != NULL )
> +    char *p = strrchr( url, '/' );
> +    if( p != NULL && !strncmp( p, "/index.", 7 ) )
>     {
> -        if( !strncmp( p, "/index.", 7 ) )
> -        {
> -            p[1] = '\0';
> -            *pb_index = true;
> -        }
> +        p[1] = '\0';
> +        *pb_index = true;
>     }
>     return url;
>  }
>

The buildbot says hello!

util.c: In function 'FileToUrl':
util.c:63: error: assignment of read-only location '*name'



More information about the vlc-devel mailing list