commit:     6b4050ab9cf9d678a1d6b7af7af7494f8533dbca
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Thu May 11 21:18:41 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu May 11 21:22:12 2017 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=6b4050ab

fix from_time_t function

 src/includes/rc-misc.h    | 2 +-
 src/rc/rc-misc.c          | 5 +----
 src/rc/supervise-daemon.c | 4 +++-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/includes/rc-misc.h b/src/includes/rc-misc.h
index 384328e7..95ccbc33 100644
--- a/src/includes/rc-misc.h
+++ b/src/includes/rc-misc.h
@@ -69,7 +69,7 @@ RC_DEPTREE *_rc_deptree_load (int, int *);
 bool _rc_can_find_pids(void);
 
 RC_SERVICE lookup_service_state(const char *service);
-char *from_time_t(time_t tv);
+void from_time_t(char *time_string, time_t tv);
 time_t to_time_t(char *timestring);
 
 #endif

diff --git a/src/rc/rc-misc.c b/src/rc/rc-misc.c
index b75c3b4e..1a98537c 100644
--- a/src/rc/rc-misc.c
+++ b/src/rc/rc-misc.c
@@ -443,12 +443,9 @@ RC_SERVICE lookup_service_state(const char *service)
        return 0;
 }
 
-char *from_time_t(time_t tv)
+void from_time_t(char *time_string, time_t tv)
 {
-       char time_string[20];
-
        strftime(time_string, 20, "%Y-%m-%d %H:%M:%S", localtime(&tv));
-       return time_string;
 }
 
 time_t to_time_t(char *timestring)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index a971e6a3..f3335fa2 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -186,6 +186,7 @@ static void child_process(char *exec, char **argv, char 
*svcname,
        char cmdline[PATH_MAX];
        time_t start_time;
        char start_count_string[20];
+       char start_time_string[20];
 
 #ifdef HAVE_PAM
        pam_handle_t *pamh = NULL;
@@ -343,7 +344,8 @@ static void child_process(char *exec, char **argv, char 
*svcname,
        syslog(LOG_INFO, "Running command line: %s", cmdline);
        if (svcname) {
 start_time = time(NULL);
-               rc_service_value_set(svcname, "start_time", 
from_time_t(start_time));
+from_time_t(start_time_string, start_time);
+               rc_service_value_set(svcname, "start_time", start_time_string);
 sprintf(start_count_string, "%i", start_count);
                rc_service_value_set(svcname, "start_count", 
start_count_string);
        }

Reply via email to