From: Vadim Kochan Date: Tue, 13 Jan 2015 18:14:24 +0000 (+0200) Subject: Use one func to print timestamp from nlmsg X-Git-Tag: v3.19.0~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddb1129b7569235e29990dfeab8c02c4f7258c18;p=thirdparty%2Fiproute2.git Use one func to print timestamp from nlmsg Signed-off-by: Vadim Kochan --- diff --git a/bridge/monitor.c b/bridge/monitor.c index f00e0a6b9..9e1ed48c5 100644 --- a/bridge/monitor.c +++ b/bridge/monitor.c @@ -35,17 +35,6 @@ static void usage(void) exit(-1); } -static int show_mark(FILE *fp, const struct nlmsghdr *n) -{ - char *tstr; - time_t secs = ((__u32*)NLMSG_DATA(n))[0]; - long usecs = ((__u32*)NLMSG_DATA(n))[1]; - tstr = asctime(localtime(&secs)); - tstr[strlen(tstr)-1] = 0; - fprintf(fp, "Timestamp: %s %lu us\n", tstr, usecs); - return 0; -} - static int accept_msg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) { @@ -75,7 +64,8 @@ static int accept_msg(const struct sockaddr_nl *who, return print_mdb(who, n, arg); case NLMSG_TSTAMP: - return show_mark(fp, n); + print_nlmsg_timestamp(fp, n); + return 0; default: return 0; diff --git a/include/utils.h b/include/utils.h index eecbc398b..e1fe7cfca 100644 --- a/include/utils.h +++ b/include/utils.h @@ -148,6 +148,7 @@ static inline __u32 nl_mgrp(__u32 group) int print_timestamp(FILE *fp); +void print_nlmsg_timestamp(FILE *fp, const struct nlmsghdr *n); #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) @@ -160,4 +161,5 @@ struct iplink_req; int iplink_parse(int argc, char **argv, struct iplink_req *req, char **name, char **type, char **link, char **dev, int *group, int *index); + #endif /* __UTILS_H__ */ diff --git a/ip/ipmonitor.c b/ip/ipmonitor.c index f40daac0d..5ec8f4181 100644 --- a/ip/ipmonitor.c +++ b/ip/ipmonitor.c @@ -126,12 +126,7 @@ static int accept_msg(const struct sockaddr_nl *who, return 0; } if (n->nlmsg_type == NLMSG_TSTAMP) { - char *tstr; - time_t secs = ((__u32*)NLMSG_DATA(n))[0]; - long usecs = ((__u32*)NLMSG_DATA(n))[1]; - tstr = asctime(localtime(&secs)); - tstr[strlen(tstr)-1] = 0; - fprintf(fp, "Timestamp: %s %lu us\n", tstr, usecs); + print_nlmsg_timestamp(fp, n); return 0; } if (n->nlmsg_type != NLMSG_ERROR && n->nlmsg_type != NLMSG_NOOP && diff --git a/lib/utils.c b/lib/utils.c index 64915f3a9..f65ceaaf7 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -868,3 +868,13 @@ int inet_get_addr(const char *src, __u32 *dst, struct in6_addr *dst6) else return inet_pton(AF_INET, src, dst); } + +void print_nlmsg_timestamp(FILE *fp, const struct nlmsghdr *n) +{ + char *tstr; + time_t secs = ((__u32*)NLMSG_DATA(n))[0]; + long usecs = ((__u32*)NLMSG_DATA(n))[1]; + tstr = asctime(localtime(&secs)); + tstr[strlen(tstr)-1] = 0; + fprintf(fp, "Timestamp: %s %lu us\n", tstr, usecs); +}