Check for data directory availability added (thanks Brandon for reporting this bug).

This commit is contained in:
Frederic Culot 2009-11-01 11:06:37 +00:00
parent 546ed4b224
commit 9ac8389823
4 changed files with 22 additions and 8 deletions

View File

@ -1,3 +1,12 @@
2009-11-01 Frederic Culot <frederic@culot.org>
* TODO: list updated
* src/io.c (check_directory): changed to non-static io_check_dir
* src/args.c (parse_args): check for data directory availability
added (thanks Brandon for reporting this bug)
2009-10-28 Frederic Culot <frederic@culot.org> 2009-10-28 Frederic Culot <frederic@culot.org>
* src/wins.c (wins_status_bar): key bindings for changing calendar * src/wins.c (wins_status_bar): key bindings for changing calendar

View File

@ -1,4 +1,4 @@
/* $calcurse: args.c,v 1.59 2009/08/02 07:22:50 culot Exp $ */ /* $calcurse: args.c,v 1.60 2009/11/01 11:06:37 culot Exp $ */
/* /*
* Calcurse - text-based organizer * Calcurse - text-based organizer
@ -901,6 +901,7 @@ parse_args (int argc, char **argv, conf_t *conf)
if (load_data) if (load_data)
{ {
io_init (cfile, datadir); io_init (cfile, datadir);
io_check_dir (path_dir, (int *)0);
} }
if (iflag) if (iflag)
{ {

View File

@ -1,4 +1,4 @@
/* $calcurse: io.c,v 1.79 2009/10/28 15:15:44 culot Exp $ */ /* $calcurse: io.c,v 1.80 2009/11/01 11:06:37 culot Exp $ */
/* /*
* Calcurse - text-based organizer * Calcurse - text-based organizer
@ -1498,8 +1498,8 @@ io_load_keys (char *pager)
#undef HSIZE #undef HSIZE
} }
static void void
check_directory (char *dir, int *missing) io_check_dir (char *dir, int *missing)
{ {
errno = 0; errno = 0;
if (mkdir (dir, 0700) != 0) if (mkdir (dir, 0700) != 0)
@ -1512,7 +1512,10 @@ check_directory (char *dir, int *missing)
} }
} }
else else
{
if (missing)
(*missing)++; (*missing)++;
}
} }
unsigned unsigned
@ -1570,8 +1573,8 @@ io_check_data_files (void)
missing = missing_keys = 0; missing = missing_keys = 0;
errno = 0; errno = 0;
check_directory (path_dir, &missing); io_check_dir (path_dir, &missing);
check_directory (path_notes, &missing); io_check_dir (path_notes, &missing);
io_check_file (path_todo, &missing); io_check_file (path_todo, &missing);
io_check_file (path_apts, &missing); io_check_file (path_apts, &missing);
io_check_file (path_conf, &missing); io_check_file (path_conf, &missing);

View File

@ -1,4 +1,4 @@
/* $calcurse: io.h,v 1.26 2009/07/27 21:00:41 culot Exp $ */ /* $calcurse: io.h,v 1.27 2009/11/01 11:06:37 culot Exp $ */
/* /*
* Calcurse - text-based organizer * Calcurse - text-based organizer
@ -74,6 +74,7 @@ void io_save_cal (conf_t *, io_save_display_t);
void io_load_app (void); void io_load_app (void);
void io_load_todo (void); void io_load_todo (void);
void io_load_keys (char *); void io_load_keys (char *);
void io_check_dir (char *, int *);
unsigned io_file_exist (char *); unsigned io_file_exist (char *);
void io_check_file (char *, int *); void io_check_file (char *, int *);
int io_check_data_files (void); int io_check_data_files (void);