xdg-user-dirs/xdg-user-dirs-0.8-sentinel....

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)
{