58 lines
1.6 KiB
Diff
58 lines
1.6 KiB
Diff
--- xdg-user-dirs-0.8/xdg-user-dirs-update.c.sentinel 2007-05-29 15:49:31.000000000 -0400
|
|
+++ xdg-user-dirs-0.8/xdg-user-dirs-update.c 2007-05-29 15:52:30.000000000 -0400
|
|
@@ -761,15 +761,16 @@ save_user_dirs (void)
|
|
fprintf (file, "# absolute path. No other format is supported.\n");
|
|
fprintf (file, "# \n");
|
|
|
|
- for (i = 0; user_dirs[i].name != NULL; i++)
|
|
- {
|
|
- escaped = shell_escape (user_dirs[i].path);
|
|
- fprintf (file, "XDG_%s_DIR=\"%s%s\"\n",
|
|
- user_dirs[i].name,
|
|
- (*escaped == '/')?"":"$HOME/",
|
|
- escaped);
|
|
- free (escaped);
|
|
- }
|
|
+ if (user_dirs != NULL)
|
|
+ for (i = 0; user_dirs[i].name != NULL; i++)
|
|
+ {
|
|
+ escaped = shell_escape (user_dirs[i].path);
|
|
+ fprintf (file, "XDG_%s_DIR=\"%s%s\"\n",
|
|
+ user_dirs[i].name,
|
|
+ (*escaped == '/')?"":"$HOME/",
|
|
+ escaped);
|
|
+ free (escaped);
|
|
+ }
|
|
|
|
fclose (file);
|
|
|
|
@@ -844,11 +845,12 @@ find_dir (Directory *dirs, const char *n
|
|
{
|
|
int i;
|
|
|
|
- for (i = 0; dirs[i].name != NULL; i++)
|
|
- {
|
|
- if (strcmp (dirs[i].name, name) == 0)
|
|
- return &dirs[i];
|
|
- }
|
|
+ if (dirs != NULL)
|
|
+ for (i = 0; dirs[i].name != NULL; i++)
|
|
+ {
|
|
+ if (strcmp (dirs[i].name, name) == 0)
|
|
+ return &dirs[i];
|
|
+ }
|
|
return NULL;
|
|
}
|
|
|
|
@@ -866,9 +868,7 @@ create_dirs (int force)
|
|
for (i = 0; default_dirs[i].name != NULL; i++)
|
|
{
|
|
default_dir = &default_dirs[i];
|
|
- user_dir = NULL;
|
|
- if (user_dirs)
|
|
- user_dir = find_dir (user_dirs, default_dir->name);
|
|
+ user_dir = find_dir (user_dirs, default_dir->name);
|
|
|
|
if (user_dir && !force)
|
|
{
|