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
4ab00885
Commit
4ab00885
authored
Sep 16, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
xdg-dirs: falls back correctly if configuration is missing
parent
01b57344
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
67 additions
and
61 deletions
+67
-61
src/config/dirs_xdg.c
src/config/dirs_xdg.c
+67
-61
No files found.
src/config/dirs_xdg.c
View file @
4ab00885
...
@@ -121,9 +121,9 @@ static char *config_GetTypeDir (const char *xdg_name)
...
@@ -121,9 +121,9 @@ static char *config_GetTypeDir (const char *xdg_name)
FILE
*
stream
=
fopen
(
path
,
"rt"
);
FILE
*
stream
=
fopen
(
path
,
"rt"
);
free
(
path
);
free
(
path
);
if
(
stream
==
NULL
)
path
=
NULL
;
return
NULL
;
if
(
stream
!=
NULL
)
{
char
*
linebuf
=
NULL
;
char
*
linebuf
=
NULL
;
size_t
linelen
=
0
;
size_t
linelen
=
0
;
...
@@ -173,16 +173,23 @@ static char *config_GetTypeDir (const char *xdg_name)
...
@@ -173,16 +173,23 @@ static char *config_GetTypeDir (const char *xdg_name)
if
(
*
ptr
==
'\\'
)
if
(
*
ptr
==
'\\'
)
ptr
++
;
ptr
++
;
if
(
*
ptr
==
'\0'
)
if
(
*
ptr
==
'\0'
)
goto
skip
;
{
free
(
path
);
path
=
NULL
;
continue
;
}
*
(
out
++
)
=
*
(
ptr
++
);
*
(
out
++
)
=
*
(
ptr
++
);
}
}
*
out
=
'\0'
;
*
out
=
'\0'
;
goto
done
;
break
;
skip:
}
free
(
path
);
free
(
linebuf
);
fclose
(
stream
);
}
}
/* Default! */
/* Default! */
if
(
path
==
NULL
)
{
if
(
strcmp
(
xdg_name
,
"DESKTOP"
)
==
0
)
if
(
strcmp
(
xdg_name
,
"DESKTOP"
)
==
0
)
{
{
if
(
asprintf
(
&
path
,
"%s/Desktop"
,
home
)
==
-
1
)
if
(
asprintf
(
&
path
,
"%s/Desktop"
,
home
)
==
-
1
)
...
@@ -190,9 +197,8 @@ static char *config_GetTypeDir (const char *xdg_name)
...
@@ -190,9 +197,8 @@ static char *config_GetTypeDir (const char *xdg_name)
}
}
else
else
path
=
strdup
(
home
);
path
=
strdup
(
home
);
}
done:
free
(
linebuf
);
char
*
ret
=
FromLocaleDup
(
path
);
char
*
ret
=
FromLocaleDup
(
path
);
free
(
path
);
free
(
path
);
return
ret
;
return
ret
;
...
...
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