提交 af3ba2cd 编写于 作者: O Osier Yang 提交者: Eric Blake

util: Add helper function to build timestamp string

* src/util/util.h
* src/util/util.c
* src/libvirt_private.syms
上级 d02d548e
......@@ -779,6 +779,7 @@ virStrToLong_ui;
virStrToLong_ull;
virStrcpy;
virStrncpy;
virTimestamp;
# uuid.h
......
......@@ -38,6 +38,7 @@
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <sys/time.h>
#if HAVE_MMAP
# include <sys/mman.h>
#endif
......@@ -2912,3 +2913,30 @@ int virBuildPathInternal(char **path, ...)
return ret;
}
/**
* virTimestamp:
*
* Return an allocated string containing the current date and time,
* followed by ": ". Return NULL on allocation failure.
*/
char *
virTimestamp(void)
{
struct timeval cur_time;
struct tm time_info;
char timestr[100];
char *timestamp;
gettimeofday(&cur_time, NULL);
localtime_r(&cur_time.tv_sec, &time_info);
strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S", &time_info);
if (virAsprintf(&timestamp, "%s.%03d: ",
timestr, (int) cur_time.tv_usec / 1000) < 0) {
return NULL;
}
return timestamp;
}
......@@ -160,6 +160,7 @@ int virFileOpenTtyAt(const char *ptmx,
char* virFilePid(const char *dir,
const char *name);
int virFileWritePidPath(const char *path,
pid_t pid) ATTRIBUTE_RETURN_CHECK;
int virFileWritePid(const char *dir,
......@@ -277,4 +278,6 @@ void virFileWaitForDevices(void);
# define virBuildPath(path, ...) virBuildPathInternal(path, __VA_ARGS__, NULL)
int virBuildPathInternal(char **path, ...) ATTRIBUTE_SENTINEL;
char *virTimestamp(void);
#endif /* __VIR_UTIL_H__ */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册