Honor "TMPDIR" environment variable
Replace all hardcoded paths referring to "/tmp" with a new function that honors the "TMPDIR" environment variable as well as P_tmpdir and uses "/tmp" as a fallback. Thanks-to: Erik Saule <esaule@bmi.osu.edu> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
585ed53748
commit
34f094312f
@ -854,6 +854,7 @@ long now (void);
|
||||
char *nowstr (void);
|
||||
long mystrtol (const char *);
|
||||
void print_bool_option_incolor (WINDOW *, unsigned, int, int);
|
||||
const char *get_tempdir (void);
|
||||
char *new_tempfile (const char *, int);
|
||||
void erase_note (char **, enum eraseflg);
|
||||
int parse_date (char *, enum datefmt, int *, int *, int *,
|
||||
|
6
src/io.c
6
src/io.c
@ -220,7 +220,8 @@ get_export_stream (enum export_type type)
|
||||
(void)snprintf (stream_name, BUFSIZ, "%s/calcurse.%s", home,
|
||||
file_ext[type]);
|
||||
else
|
||||
(void)snprintf (stream_name, BUFSIZ, "/tmp/calcurse.%s", file_ext[type]);
|
||||
(void)snprintf (stream_name, BUFSIZ, "%s/calcurse.%s", get_tempdir (),
|
||||
file_ext[type]);
|
||||
|
||||
while (stream == NULL)
|
||||
{
|
||||
@ -2857,10 +2858,11 @@ io_import_data (enum import_type type, struct conf *conf, char *stream_name)
|
||||
struct io_file *
|
||||
io_log_init (void)
|
||||
{
|
||||
const char *logprefix = "/tmp/calcurse_log.";
|
||||
char logprefix[BUFSIZ];
|
||||
char *logname;
|
||||
struct io_file *log;
|
||||
|
||||
snprintf (logprefix, BUFSIZ, "%s/calcurse_log.", get_tempdir ());
|
||||
logname = new_tempfile (logprefix, NOTESIZ);
|
||||
RETVAL_IF (logname == NULL, 0,
|
||||
_("Warning: could not create temporary log file, Aborting..."));
|
||||
|
15
src/utils.c
15
src/utils.c
@ -726,6 +726,21 @@ print_bool_option_incolor (WINDOW *win, unsigned option, int pos_y, int pos_x)
|
||||
wins_doupdate ();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Get the name of the default directory for temporary files.
|
||||
*/
|
||||
const char *
|
||||
get_tempdir (void)
|
||||
{
|
||||
if (getenv ("TMPDIR"))
|
||||
return getenv ("TMPDIR");
|
||||
else if (P_tmpdir)
|
||||
return P_tmpdir;
|
||||
else
|
||||
return "/tmp";
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a new unique file, and return a newly allocated string which contains
|
||||
* the random part of the file name.
|
||||
|
Loading…
x
Reference in New Issue
Block a user