Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
2e812d10
Commit
2e812d10
authored
Jul 29, 2008
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Try to store config_GetConfDir in the official place on Windows (CSIDL_COMMON_APPDATA)
parent
07dabf06
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
29 deletions
+36
-29
src/config/dirs.c
src/config/dirs.c
+36
-29
No files found.
src/config/dirs.c
View file @
2e812d10
...
...
@@ -74,29 +74,7 @@ const char *config_GetDataDir( void )
#endif
}
/**
* Determines the system configuration directory.
*
* @return a string (always succeeds).
*/
const
char
*
config_GetConfDir
(
void
)
{
#if defined (WIN32) || defined(__APPLE__) || defined (SYS_BEOS)
static
char
path
[
PATH_MAX
]
=
""
;
if
(
*
path
==
'\0'
)
{
snprintf
(
path
,
sizeof
(
path
),
"%s"
DIR_SEP
DIR_SHARE
,
/* FIXME: Duh? */
vlc_global
()
->
psz_vlcpath
);
path
[
sizeof
(
path
)
-
1
]
=
'\0'
;
}
return
path
;
#else
return
SYSCONFDIR
;
#endif
}
static
const
char
*
GetDir
(
bool
b_appdata
)
static
const
char
*
GetDir
(
bool
b_appdata
,
bool
b_common_appdata
)
{
/* FIXME: a full memory page here - quite a waste... */
static
char
homedir
[
PATH_MAX
]
=
""
;
...
...
@@ -109,18 +87,23 @@ static const char *GetDir( bool b_appdata )
# else
/* Get the "Application Data" folder for the current user */
if
(
S_OK
==
SHGetFolderPathW
(
NULL
,
(
b_appdata
?
CSIDL_APPDATA
:
CSIDL_PERSONAL
)
|
CSIDL_FLAG_CREATE
,
(
b_appdata
?
CSIDL_APPDATA
:
(
b_common_appdata
?
CSIDL_PERSONAL
:
CSIDL_COMMON_APPDATA
))
|
CSIDL_FLAG_CREATE
,
NULL
,
SHGFP_TYPE_CURRENT
,
wdir
)
)
# endif
{
static
char
appdir
[
PATH_MAX
]
=
""
;
static
char
comappdir
[
PATH_MAX
]
=
""
;
WideCharToMultiByte
(
CP_UTF8
,
0
,
wdir
,
-
1
,
b_appdata
?
appdir
:
homedir
,
PATH_MAX
,
NULL
,
NULL
);
return
b_appdata
?
appdir
:
homedir
;
b_appdata
?
appdir
:
(
b_common_appdata
?
comappdir
:
homedir
),
PATH_MAX
,
NULL
,
NULL
);
return
b_appdata
?
appdir
:
(
b_common_appdata
?
comappdir
:
homedir
);
}
#else
(
void
)
b_appdata
;
(
void
)
b_common_appdata
;
#endif
#ifdef LIBVLC_USE_PTHREAD
...
...
@@ -157,19 +140,43 @@ static const char *GetDir( bool b_appdata )
return
homedir
;
}
/**
* Determines the system configuration directory.
*
* @return a string (always succeeds).
*/
const
char
*
config_GetConfDir
(
void
)
{
#if defined (WIN32)
return
GetDir
(
false
,
true
);
#elif defined(__APPLE__) || defined (SYS_BEOS)
static
char
path
[
PATH_MAX
]
=
""
;
if
(
*
path
==
'\0'
)
{
snprintf
(
path
,
sizeof
(
path
),
"%s"
DIR_SEP
DIR_SHARE
,
/* FIXME: Duh? */
vlc_global
()
->
psz_vlcpath
);
path
[
sizeof
(
path
)
-
1
]
=
'\0'
;
}
return
path
;
#else
return
SYSCONFDIR
;
#endif
}
/**
* Get the user's home directory
*/
const
char
*
config_GetHomeDir
(
void
)
{
return
GetDir
(
false
);
return
GetDir
(
false
,
false
);
}
static
char
*
config_GetFooDir
(
const
char
*
xdg_name
,
const
char
*
xdg_default
)
{
char
*
psz_dir
;
#if defined(WIN32) || defined(__APPLE__) || defined(SYS_BEOS)
const
char
*
psz_parent
=
GetDir
(
true
);
const
char
*
psz_parent
=
GetDir
(
true
,
false
);
if
(
asprintf
(
&
psz_dir
,
"%s"
DIR_SEP
CONFIG_DIR
,
psz_parent
)
==
-
1
)
psz_dir
=
NULL
;
...
...
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