summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.am3
-rw-r--r--src/lib/create_dump_dir.c5
-rw-r--r--src/lib/iso_date_string.c31
3 files changed, 36 insertions, 3 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 566d2931..bad3e63a 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -25,13 +25,14 @@ libreport_la_SOURCES = \
append_to_malloced_string.c \
overlapping_strcpy.c \
skip_whitespace.c \
+ glib_support.c \
+ iso_date_string.c \
strbuf.c strbuf.h \
xatonum.c \
spawn.c \
dirsize.c \
dump_dir.c \
get_cmdline.c \
- glib_support.c \
daemon_is_ok.c \
load_plugin_settings.c \
make_descr.c \
diff --git a/src/lib/create_dump_dir.c b/src/lib/create_dump_dir.c
index 2caf9af9..cbacdab6 100644
--- a/src/lib/create_dump_dir.c
+++ b/src/lib/create_dump_dir.c
@@ -31,8 +31,8 @@ static struct dump_dir *try_dd_create(const char *base_dir_name, const char *dir
struct dump_dir *create_dump_dir_from_crash_data(crash_data_t *crash_data, const char *base_dir_name)
{
- char dir_name[sizeof("abrt-tmp-%lu-%lu") + sizeof(long)*3 * 2];
- sprintf(dir_name, "abrt-tmp-%lu-%lu", (long)getpid(), (long)time(NULL));
+ char dir_name[sizeof("abrt-tmp-YYYY-MM-DD-HH:MM:SS-%lu") + sizeof(long)*3];
+ sprintf(dir_name, "abrt-tmp-%s-%lu", iso_date_string(NULL), (long)getpid());
struct dump_dir *dd;
if (base_dir_name)
@@ -53,6 +53,7 @@ struct dump_dir *create_dump_dir_from_crash_data(crash_data_t *crash_data, const
free(home);
}
}
+//TODO: try user's home dir obtained by getpwuid(getuid())?
/* Try /tmp */
if (!dd)
dd = try_dd_create("/tmp", dir_name);
diff --git a/src/lib/iso_date_string.c b/src/lib/iso_date_string.c
new file mode 100644
index 00000000..4600ff7f
--- /dev/null
+++ b/src/lib/iso_date_string.c
@@ -0,0 +1,31 @@
+/*
+ Copyright (C) 2011 ABRT team
+ Copyright (C) 2011 RedHat Inc
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#include "abrtlib.h"
+
+char *iso_date_string(time_t *pt)
+{
+ static char buf[sizeof("YYYY-MM-DD-HH:MM:SS") + 4];
+
+ time_t t;
+ struct tm *ptm = localtime(pt ? pt : (time(&t), &t));
+ strftime(buf, sizeof(buf), "%Y-%m-%d-%H:%M:%S", ptm);
+
+ return buf;
+}