[vlc-commits] commit: Win32: hack^Wfix opening UNC paths (fixes #3459) ( Rémi Denis-Courmont )
git at videolan.org
git at videolan.org
Sat May 8 21:52:04 CEST 2010
vlc/vlc-1.1 | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat May 8 22:50:44 2010 +0300| [3346aadca7606f15f1c08d72f5eb79ad91cf3ec2] | committer: Rémi Denis-Courmont
Win32: hack^Wfix opening UNC paths (fixes #3459)
(cherry picked from commit e763137961d9b1096ba3121508b4526f32017a0f)
> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=3346aadca7606f15f1c08d72f5eb79ad91cf3ec2
---
src/input/input.c | 26 ++++++++++++++++----------
1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/input/input.c b/src/input/input.c
index 7596640..a29b3f7 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -2331,12 +2331,8 @@ static int InputSourceInit( input_thread_t *p_input,
* for non-standard VLC-specific schemes. */
if( !strcmp( psz_access, "file" ) )
{
- if( psz_path[0] != '/'
-#if (DIR_SEP_CHAR != '/')
- /* We accept invalid URIs too. */
- && psz_path[0] != DIR_SEP_CHAR
-#endif
- )
+ if( psz_path[0] != '/' )
+#ifndef WIN32
{ /* host specified -> only localhost is supported */
static const size_t i_localhost = sizeof("localhost")-1;
if( strncmp( psz_path, "localhost/", i_localhost + 1) != 0 )
@@ -2349,12 +2345,22 @@ static int InputSourceInit( input_thread_t *p_input,
}
psz_path += i_localhost;
}
+#else
+ {
+ /* XXX: very very ugly. Always true for valid URIs though. */
+ if( (psz_path - psz_dup) >= 2 && psz_path[-2] && psz_path[-1] )
+ {
+ *(--psz_path) = '\\';
+ *(--psz_path) = '\\';
+ }
+ msg_Err( p_input, "REMOTE: %s", psz_path );
+ }
+ else
+ /* Strip leading slash in front of the drive letter */
+ psz_path++;
+#endif
/* Then URI-decode the path. */
decode_URI( psz_path );
-#if defined( WIN32 ) && !defined( UNDER_CE )
- /* Strip leading slash in front of the drive letter */
- psz_path++;
-#endif
#if (DIR_SEP_CHAR != '/')
/* Turn slashes into anti-slashes */
for( char *s = strchr( psz_path, '/' ); s; s = strchr( s + 1, '/' ) )
More information about the vlc-commits
mailing list