git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
revalidator: Fix ukey stats cache updating.
[sliver-openvswitch.git]
/
lib
/
dynamic-string.c
diff --git
a/lib/dynamic-string.c
b/lib/dynamic-string.c
index
9b3e7ba
..
914af64
100644
(file)
--- a/
lib/dynamic-string.c
+++ b/
lib/dynamic-string.c
@@
-16,6
+16,7
@@
#include <config.h>
#include "dynamic-string.h"
#include <config.h>
#include "dynamic-string.h"
+#include <inttypes.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
@@
-183,21
+184,24
@@
ds_put_printable(struct ds *ds, const char *s, size_t n)
}
}
}
}
-/* Writes time 'when' to 'string' based on 'template', in local time or UTC
- * based on 'utc'. */
+/* Writes the current time with optional millisecond resolution to 'string'
+ * based on 'template'.
+ * The current time is either localtime or UTC based on 'utc'. */
void
void
-ds_put_strftime(struct ds *ds, const char *template, time_t when, bool utc)
+ds_put_strftime_msec(struct ds *ds, const char *template, long long int when,
+ bool utc)
{
{
- struct tm tm;
+ struct tm
_msec
tm;
if (utc) {
if (utc) {
- gmtime_
r(&
when, &tm);
+ gmtime_
msec(
when, &tm);
} else {
} else {
- localtime_
r(&
when, &tm);
+ localtime_
msec(
when, &tm);
}
for (;;) {
size_t avail = ds->string ? ds->allocated - ds->length + 1 : 0;
}
for (;;) {
size_t avail = ds->string ? ds->allocated - ds->length + 1 : 0;
- size_t used = strftime(&ds->string[ds->length], avail, template, &tm);
+ size_t used = strftime_msec(&ds->string[ds->length], avail, template,
+ &tm);
if (used) {
ds->length += used;
return;
if (used) {
ds->length += used;
return;
@@
-209,12
+213,12
@@
ds_put_strftime(struct ds *ds, const char *template, time_t when, bool utc)
/* Returns a malloc()'d string for time 'when' based on 'template', in local
* time or UTC based on 'utc'. */
char *
/* Returns a malloc()'d string for time 'when' based on 'template', in local
* time or UTC based on 'utc'. */
char *
-xastrftime
(const char *template, time_
t when, bool utc)
+xastrftime
_msec(const char *template, long long in
t when, bool utc)
{
struct ds s;
ds_init(&s);
{
struct ds s;
ds_init(&s);
- ds_put_strftime(&s, template, when, utc);
+ ds_put_strftime
_msec
(&s, template, when, utc);
return s.string;
}
return s.string;
}
@@
-380,12
+384,13
@@
ds_put_hex_dump(struct ds *ds, const void *buf_, size_t size,
n = end - start;
/* Print line. */
n = end - start;
/* Print line. */
- ds_put_format(ds, "%08jx ", (uintmax_t) ROUND_DOWN(ofs, per_line));
+ ds_put_format(ds, "%08"PRIxMAX" ",
+ (uintmax_t) ROUND_DOWN(ofs, per_line));
for (i = 0; i < start; i++) {
ds_put_format(ds, " ");
}
for (; i < end; i++) {
for (i = 0; i < start; i++) {
ds_put_format(ds, " ");
}
for (; i < end; i++) {
- ds_put_format(ds, "%02
hh
x%c",
+ ds_put_format(ds, "%02x%c",
buf[i - start], i == per_line / 2 - 1? '-' : ' ');
}
if (ascii) {
buf[i - start], i == per_line / 2 - 1? '-' : ' ');
}
if (ascii) {