Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
9d08f2d7
Commit
9d08f2d7
authored
Oct 05, 2004
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* src/misc/*, src/extras/libc.c: bunch of WinCE fixes.
parent
d87b1696
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
40 deletions
+90
-40
src/extras/libc.c
src/extras/libc.c
+9
-3
src/misc/configuration.c
src/misc/configuration.c
+32
-7
src/misc/modules.c
src/misc/modules.c
+43
-28
src/misc/win32_specific.c
src/misc/win32_specific.c
+6
-2
No files found.
src/extras/libc.c
View file @
9d08f2d7
...
...
@@ -87,6 +87,7 @@ char *vlc_strndup( const char *string, size_t n )
int
vlc_strcasecmp
(
const
char
*
s1
,
const
char
*
s2
)
{
int
i_delta
=
0
;
if
(
!
s1
||
!
s2
)
return
-
1
;
while
(
!
i_delta
&&
*
s1
&&
*
s2
)
{
...
...
@@ -94,17 +95,19 @@ int vlc_strcasecmp( const char *s1, const char *s2 )
if
(
*
s1
>=
'A'
&&
*
s1
<=
'Z'
)
{
i_delta
-=
'A'
-
'a'
;
i_delta
-=
(
'A'
-
'a'
)
;
}
if
(
*
s2
>=
'A'
&&
*
s2
<=
'Z'
)
{
i_delta
+=
'A'
-
'a'
;
i_delta
+=
(
'A'
-
'a'
)
;
}
s1
++
;
s2
++
;
}
if
(
!
i_delta
&&
(
*
s1
||
*
s2
)
)
i_delta
=
*
s1
?
1
:
-
1
;
return
i_delta
;
}
#endif
...
...
@@ -116,8 +119,9 @@ int vlc_strcasecmp( const char *s1, const char *s2 )
int
vlc_strncasecmp
(
const
char
*
s1
,
const
char
*
s2
,
size_t
n
)
{
int
i_delta
=
0
;
if
(
!
s1
||
!
s2
)
return
-
1
;
while
(
n
--
&&
!
i_delta
&&
*
s1
)
while
(
n
--
&&
!
i_delta
&&
*
s1
&&
*
s2
)
{
i_delta
=
*
s1
-
*
s2
;
...
...
@@ -134,6 +138,8 @@ int vlc_strncasecmp( const char *s1, const char *s2, size_t n )
s1
++
;
s2
++
;
}
if
(
!
n
&&
!
i_delta
&&
(
*
s1
||
*
s2
)
)
i_delta
=
*
s1
?
1
:
-
1
;
return
i_delta
;
}
#endif
...
...
src/misc/configuration.c
View file @
9d08f2d7
...
...
@@ -917,10 +917,23 @@ int config_CreateDir( vlc_object_t *p_this, char *psz_dirname )
#if defined( UNDER_CE )
{
wchar_t
psz_new
[
MAX_PATH
];
MultiByteToWideChar
(
CP_ACP
,
0
,
psz_dirname
,
-
1
,
psz_new
,
MAX_PATH
);
char
psz_mod
[
MAX_PATH
];
int
i
=
0
;
/* Convert '/' into '\' */
while
(
*
psz_dirname
)
{
if
(
*
psz_dirname
==
'/'
)
psz_mod
[
i
]
=
'\\'
;
else
psz_mod
[
i
]
=
*
psz_dirname
;
psz_dirname
++
;
i
++
;
}
psz_mod
[
i
]
=
0
;
MultiByteToWideChar
(
CP_ACP
,
0
,
psz_mod
,
-
1
,
psz_new
,
MAX_PATH
);
if
(
CreateDirectory
(
psz_new
,
NULL
)
)
{
msg_Err
(
p_this
,
"could not create %s"
,
psz_
dirname
);
msg_Err
(
p_this
,
"could not create %s"
,
psz_
mod
);
}
}
...
...
@@ -1543,7 +1556,7 @@ char *config_GetHomeDir( void )
struct
passwd
*
p_pw
=
NULL
;
#endif
#if defined(WIN32)
||
defined(UNDER_CE)
#if defined(WIN32)
&& !
defined(UNDER_CE)
typedef
HRESULT
(
WINAPI
*
SHGETFOLDERPATH
)(
HWND
,
int
,
HANDLE
,
DWORD
,
LPSTR
);
#ifndef CSIDL_FLAG_CREATE
...
...
@@ -1567,10 +1580,7 @@ char *config_GetHomeDir( void )
if
(
SHGetFolderPath
!=
NULL
)
{
p_homedir
=
(
char
*
)
malloc
(
MAX_PATH
);
if
(
!
p_homedir
)
{
return
NULL
;
}
if
(
!
p_homedir
)
return
NULL
;
/* get the "Application Data" folder for the current user */
if
(
S_OK
==
SHGetFolderPath
(
NULL
,
...
...
@@ -1582,9 +1592,24 @@ char *config_GetHomeDir( void )
return
p_homedir
;
}
free
(
p_homedir
);
p_homedir
=
NULL
;
}
FreeLibrary
(
shfolder_dll
);
}
#elif defined(UNDER_CE)
wchar_t
p_whomedir
[
MAX_PATH
];
/* get the "Application Data" folder for the current user */
if
(
SHGetSpecialFolderPath
(
NULL
,
p_whomedir
,
CSIDL_APPDATA
,
1
)
)
{
p_homedir
=
(
char
*
)
malloc
(
MAX_PATH
);
if
(
!
p_homedir
)
return
NULL
;
sprintf
(
p_homedir
,
"%ls"
,
p_whomedir
);
return
p_homedir
;
}
#endif
#if defined(HAVE_GETPWUID)
...
...
src/misc/modules.c
View file @
9d08f2d7
...
...
@@ -676,8 +676,11 @@ void __module_Unneed( vlc_object_t * p_this, module_t * p_module )
static
void
AllocateAllPlugins
(
vlc_object_t
*
p_this
)
{
/* Yes, there are two NULLs because we replace one with "plugin-path". */
char
*
path
[]
=
{
"modules"
,
PLUGIN_PATH
,
"plugins"
,
NULL
,
NULL
};
#ifdef WIN32
char
*
path
[]
=
{
"modules"
,
""
,
"plugins"
,
0
,
0
};
#else
char
*
path
[]
=
{
"modules"
,
PLUGIN_PATH
,
"plugins"
,
0
,
0
};
#endif
char
**
ppsz_path
=
path
;
char
*
psz_fullpath
;
...
...
@@ -688,12 +691,14 @@ static void AllocateAllPlugins( vlc_object_t *p_this )
for
(
;
*
ppsz_path
!=
NULL
;
ppsz_path
++
)
{
#if defined( SYS_BEOS ) || defined( SYS_DARWIN ) \
|| ( defined( WIN32 ) && !defined( UNDER_CE ) )
if
(
!
(
*
ppsz_path
)[
0
]
)
continue
;
#if defined( SYS_BEOS ) || defined( SYS_DARWIN ) || defined( WIN32 )
/* Handle relative as well as absolute paths */
#ifdef WIN32
if
(
!
(
*
ppsz_path
)[
0
]
||
(
*
ppsz_path
)[
1
]
!=
':'
)
if
(
(
*
ppsz_path
)[
0
]
!=
'\\'
&&
(
*
ppsz_path
)[
0
]
!=
'/'
&&
(
*
ppsz_path
)[
1
]
!=
':'
)
#else
if
(
(
*
ppsz_path
)[
0
]
!=
'/'
)
#endif
...
...
@@ -742,11 +747,10 @@ static void AllocatePluginDir( vlc_object_t *p_this, const char *psz_dir,
{
#if defined( UNDER_CE ) || defined( _MSC_VER )
#ifdef UNDER_CE
wchar_t
psz_path
[
MAX_PATH
+
256
];
wchar_t
psz_
w
path
[
MAX_PATH
+
256
];
wchar_t
psz_wdir
[
MAX_PATH
];
#else
char
psz_path
[
MAX_PATH
+
256
];
#endif
char
psz_path
[
MAX_PATH
+
256
];
WIN32_FIND_DATA
finddata
;
HANDLE
handle
;
unsigned
int
rc
;
...
...
@@ -770,17 +774,20 @@ static void AllocatePluginDir( vlc_object_t *p_this, const char *psz_dir,
if
(
!
(
rc
&
FILE_ATTRIBUTE_DIRECTORY
)
)
return
;
/* Not a directory */
/* Parse all files in the directory */
swprintf
(
psz_path
,
L"%s
\\
*.*"
,
psz_dir
);
swprintf
(
psz_wpath
,
L"%ls
\\
*"
,
psz_wdir
);
#else
rc
=
GetFileAttributes
(
psz_dir
);
if
(
!
(
rc
&
FILE_ATTRIBUTE_DIRECTORY
)
)
return
;
/* Not a directory */
#endif
/* Parse all files in the directory */
sprintf
(
psz_path
,
"%s
\\
*.*"
,
psz_dir
);
#endif
sprintf
(
psz_path
,
"%s
\\
*"
,
psz_dir
);
#ifdef UNDER_CE
handle
=
FindFirstFile
(
psz_wpath
,
&
finddata
);
#else
handle
=
FindFirstFile
(
psz_path
,
&
finddata
);
#endif
if
(
handle
==
INVALID_HANDLE_VALUE
)
{
/* Empty directory */
...
...
@@ -792,40 +799,35 @@ static void AllocatePluginDir( vlc_object_t *p_this, const char *psz_dir,
{
#ifdef UNDER_CE
unsigned
int
i_len
=
wcslen
(
finddata
.
cFileName
);
swprintf
(
psz_path
,
L"%s
\\
%s"
,
psz_dir
,
finddata
.
cFileName
);
swprintf
(
psz_wpath
,
L"%ls
\\
%ls"
,
psz_wdir
,
finddata
.
cFileName
);
sprintf
(
psz_path
,
"%s
\\
%ls"
,
psz_dir
,
finddata
.
cFileName
);
#else
unsigned
int
i_len
=
strlen
(
finddata
.
cFileName
);
sprintf
(
psz_path
,
"%s
\\
%s"
,
psz_dir
,
finddata
.
cFileName
);
#endif
/* Skip ".", ".." and anything starting with "." */
if
(
!*
finddata
.
cFileName
||
*
finddata
.
cFileName
==
'.'
)
{
if
(
!
FindNextFile
(
handle
,
&
finddata
)
)
break
;
continue
;
}
sprintf
(
psz_path
,
"%s
\\
%s"
,
psz_dir
,
finddata
.
cFileName
);
#endif
#ifdef UNDER_CE
if
(
GetFileAttributes
(
psz_wpath
)
&
FILE_ATTRIBUTE_DIRECTORY
)
#else
if
(
GetFileAttributes
(
psz_path
)
&
FILE_ATTRIBUTE_DIRECTORY
)
#endif
{
AllocatePluginDir
(
p_this
,
psz_path
,
i_maxdepth
-
1
);
}
else
if
(
i_len
>
strlen
(
LIBEXT
)
#ifdef UNDER_CE
)
#else
/* We only load files ending with LIBEXT */
&&
!
strncasecmp
(
psz_path
+
strlen
(
psz_path
)
-
strlen
(
LIBEXT
),
LIBEXT
,
strlen
(
LIBEXT
)
)
)
#endif
{
#ifdef UNDER_CE
char
psz_filename
[
MAX_PATH
];
WideCharToMultiByte
(
CP_ACP
,
WC_DEFAULTCHAR
,
psz_path
,
-
1
,
psz_filename
,
MAX_PATH
,
NULL
,
NULL
);
psz_file
=
psz_filename
;
#else
psz_file
=
psz_path
;
#endif
AllocatePluginFile
(
p_this
,
psz_file
,
0
,
0
);
}
...
...
@@ -1266,12 +1268,21 @@ static int LoadModule( vlc_object_t *p_this, char *psz_file,
}
#elif defined(HAVE_DL_WINDOWS)
#ifdef UNDER_CE
{
wchar_t
psz_wfile
[
MAX_PATH
];
MultiByteToWideChar
(
CP_ACP
,
0
,
psz_file
,
-
1
,
psz_wfile
,
MAX_PATH
);
handle
=
LoadLibrary
(
psz_wfile
);
}
#else
handle
=
LoadLibrary
(
psz_file
);
#endif
if
(
handle
==
NULL
)
{
char
*
psz_err
=
GetWindowsError
();
msg_Warn
(
p_this
,
"cannot load module `%s' (%s)"
,
psz_file
,
psz_err
);
free
(
psz_err
);
return
-
1
;
}
#elif defined(HAVE_DL_DLOPEN) && defined(RTLD_NOW)
...
...
@@ -1528,13 +1539,17 @@ static void CacheLoad( vlc_object_t *p_this )
if
(
p_this
->
p_libvlc
->
p_module_bank
->
b_cache_delete
)
{
msg_Dbg
(
p_this
,
"removing plugins cache file %s"
,
psz_filename
);
#if !defined( UNDER_CE )
unlink
(
psz_filename
);
#else
msg_Err
(
p_this
,
"FIXME, unlink not implemented"
);
#endif
return
;
}
msg_Dbg
(
p_this
,
"loading plugins cache file %s"
,
psz_filename
);
file
=
fopen
(
psz_filename
,
"r"
);
file
=
fopen
(
psz_filename
,
"r
b
"
);
if
(
!
file
)
{
msg_Warn
(
p_this
,
"could not open plugins cache file %s for reading"
,
...
...
@@ -1808,7 +1823,7 @@ static void CacheSave( vlc_object_t *p_this )
msg_Dbg
(
p_this
,
"saving plugins cache file %s"
,
psz_filename
);
file
=
fopen
(
psz_filename
,
"w"
);
file
=
fopen
(
psz_filename
,
"w
b
"
);
if
(
!
file
)
{
msg_Warn
(
p_this
,
"could not open plugins cache file %s for writing"
,
...
...
src/misc/win32_specific.c
View file @
9d08f2d7
...
...
@@ -47,13 +47,18 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] )
WSADATA
Data
;
/* Get our full path */
#if !defined( UNDER_CE )
if
(
ppsz_argv
[
0
]
)
{
char
psz_path
[
MAX_PATH
];
char
*
psz_vlc
;
#if defined( UNDER_CE )
strcpy
(
psz_path
,
ppsz_argv
[
0
]
);
psz_vlc
=
strrchr
(
psz_path
,
'\\'
);
if
(
psz_vlc
)
psz_vlc
++
;
#else
GetFullPathName
(
ppsz_argv
[
0
],
MAX_PATH
,
psz_path
,
&
psz_vlc
);
#endif
if
(
psz_vlc
>
psz_path
&&
psz_vlc
[
-
1
]
==
'\\'
)
{
...
...
@@ -66,7 +71,6 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] )
}
}
else
#endif
{
p_this
->
p_libvlc
->
psz_vlcpath
=
strdup
(
""
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment