[vlc-devel] commit: HTTP: use DIR_SEP(_CHAR) ( Rémi Denis-Courmont )
git version control
git at videolan.org
Sun May 10 15:45:11 CEST 2009
vlc | branch: 1.0-bugfix | Rémi Denis-Courmont <remi at remlab.net> | Sun May 10 16:44:36 2009 +0300| [452f40206de0291918317e926cd61989fd558739] | committer: Rémi Denis-Courmont
HTTP: use DIR_SEP(_CHAR)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=452f40206de0291918317e926cd61989fd558739
---
modules/control/http/http.c | 11 ++---------
modules/control/http/util.c | 35 +++++++++++++----------------------
2 files changed, 15 insertions(+), 31 deletions(-)
diff --git a/modules/control/http/http.c b/modules/control/http/http.c
index 5bce03b..75f24c2 100644
--- a/modules/control/http/http.c
+++ b/modules/control/http/http.c
@@ -555,18 +555,11 @@ int HandlerCallback( httpd_handler_sys_t *p_args,
int i_env = 0;
char **ppsz_env = NULL;
char *psz_tmp;
- char sep;
size_t i_buffer;
char *p_buffer;
char *psz_cwd, *psz_file = NULL;
int i_ret;
-#ifdef WIN32
- sep = '\\';
-#else
- sep = '/';
-#endif
-
/* Create environment for the CGI */
TAB_APPEND( i_env, ppsz_env, strdup("GATEWAY_INTERFACE=CGI/1.1") );
TAB_APPEND( i_env, ppsz_env, strdup("SERVER_PROTOCOL=HTTP/1.1") );
@@ -677,7 +670,7 @@ int HandlerCallback( httpd_handler_sys_t *p_args,
}
}
- psz_file = strrchr( p_args->file.file, sep );
+ psz_file = strrchr( p_args->file.file, DIR_SEP_CHAR );
if( psz_file != NULL )
{
psz_file++;
@@ -694,7 +687,7 @@ int HandlerCallback( httpd_handler_sys_t *p_args,
NULL );
psz_tmp = strdup( p_args->file.file );
- p = strrchr( psz_tmp, sep );
+ p = strrchr( psz_tmp, DIR_SEP_CHAR );
if( p != NULL )
{
*p = '\0';
diff --git a/modules/control/http/util.c b/modules/control/http/util.c
index a8b7861..69de4a6 100644
--- a/modules/control/http/util.c
+++ b/modules/control/http/util.c
@@ -120,14 +120,6 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root,
int i_dirlen;
- char sep;
-
-#if defined( WIN32 )
- sep = '\\';
-#else
- sep = '/';
-#endif
-
if( ( p_dir = utf8_opendir( psz_dir ) ) == NULL )
{
if( errno != ENOENT && errno != ENOTDIR )
@@ -145,7 +137,7 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root,
msg_Dbg( p_intf, "dir=%s", psz_dir );
- snprintf( dir, sizeof( dir ), "%s%c.access", psz_dir, sep );
+ snprintf( dir, sizeof( dir ), "%s"DIR_SEP".access", psz_dir );
if( ( file = utf8_fopen( dir, "r" ) ) != NULL )
{
char line[1024];
@@ -179,7 +171,7 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root,
fclose( file );
}
- snprintf( dir, sizeof( dir ), "%s%c.hosts", psz_dir, sep );
+ snprintf( dir, sizeof( dir ), "%s"DIR_SEP".hosts", psz_dir );
p_acl = ACL_Create( p_intf, false );
if( ACL_LoadFile( p_acl, dir ) )
{
@@ -210,7 +202,7 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root,
continue;
}
- snprintf( dir, sizeof( dir ), "%s%c%s", psz_dir, sep, psz_filename );
+ snprintf( dir, sizeof( dir ), "%s"DIR_SEP"%s", psz_dir, psz_filename );
free( psz_filename );
if( ParseDirectory( p_intf, psz_root, dir ) )
@@ -912,13 +904,12 @@ char *RealPath( const char *psz_src )
char *psz_dir;
char *p;
int i_len = strlen(psz_src);
- const char sep = DIR_SEP_CHAR;
psz_dir = malloc( i_len + 2 );
strcpy( psz_dir, psz_src );
/* Add a trailing sep to ease the .. step */
- psz_dir[i_len] = sep;
+ psz_dir[i_len] = DIR_SEP_CHAR;
psz_dir[i_len + 1] = '\0';
#if (DIR_SEP_CHAR != '/')
@@ -926,18 +917,18 @@ char *RealPath( const char *psz_src )
p = psz_dir;
while( (p = strchr( p, '/' )) != NULL )
{
- *p = sep;
+ *p = DIR_SEP_CHAR;
}
#endif
/* FIXME: this could be O(N) rather than O(N²)... */
/* Remove multiple separators and /./ */
p = psz_dir;
- while( (p = strchr( p, sep )) != NULL )
+ while( (p = strchr( p, DIR_SEP_CHAR )) != NULL )
{
- if( p[1] == sep )
+ if( p[1] == DIR_SEP_CHAR )
memmove( &p[1], &p[2], strlen(&p[2]) + 1 );
- else if( p[1] == '.' && p[2] == sep )
+ else if( p[1] == '.' && p[2] == DIR_SEP_CHAR )
memmove( &p[1], &p[3], strlen(&p[3]) + 1 );
else
p++;
@@ -955,13 +946,13 @@ char *RealPath( const char *psz_src )
{
/* Fix all .. dir */
p = psz_dir + 3;
- while( (p = strchr( p, sep )) != NULL )
+ while( (p = strchr( p, DIR_SEP_CHAR )) != NULL )
{
- if( p[-1] == '.' && p[-2] == '.' && p[-3] == sep )
+ if( p[-1] == '.' && p[-2] == '.' && p[-3] == DIR_SEP_CHAR )
{
char *q;
p[-3] = '\0';
- if( (q = strrchr( psz_dir, sep )) != NULL )
+ if( (q = strrchr( psz_dir, DIR_SEP_CHAR )) != NULL )
{
memmove( q + 1, p + 1, strlen(p + 1) + 1 );
p = q + 1;
@@ -979,8 +970,8 @@ char *RealPath( const char *psz_src )
/* Remove trailing sep if there are at least 2 sep in the string
* (handles the C:\ stuff) */
- p = strrchr( psz_dir, sep );
- if( p != NULL && p[1] == '\0' && p != strchr( psz_dir, sep ) )
+ p = strrchr( psz_dir, DIR_SEP_CHAR );
+ if( p != NULL && p[1] == '\0' && p != strchr( psz_dir, DIR_SEP_CHAR ) )
*p = '\0';
return psz_dir;
More information about the vlc-devel
mailing list