You mean "%16"SCNx64? That's much tidier:-) Full diff against master is:
diff --git a/lib/odp-util.c b/lib/odp-util.c index 1dc63ef..b1940c7 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -2017,12 +2017,12 @@ odp_ufid_from_string(const char *s_, ovs_u128 *ufid) return -EINVAL; } - if (!ovs_scan(s, "%"SCNx64, &ufid->u64.hi)) { + if (!ovs_scan(s, "%16"SCNx64, &ufid->u64.hi)) { return -EINVAL; } s += 16; - if (!ovs_scan(s, "%"SCNx64, &ufid->u64.lo)) { + if (!ovs_scan(s, "%16"SCNx64, &ufid->u64.lo)) { return -EINVAL; } s += 16; On 18 December 2014 at 10:01, Andy Zhou <az...@nicira.com> wrote: > Would it be simpler to do "16%"SCNx64 ? > > On Wed, Dec 17, 2014 at 10:34 AM, Joe Stringer <joestrin...@nicira.com> wrote: >> Commit 534a19b (dpctl: Add support for using UFID to add/del flows.) >> introduced string parsing functions for UFIDs, but provided a broken >> implementation where the upper 64 bits would be ignored, then the lower >> 64 bits would be read into both the lower and upper UFID positions. Fix >> the implementation to read the upper bits properly. >> >> Signed-off-by: Joe Stringer <joestrin...@nicira.com> >> --- >> lib/odp-util.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/lib/odp-util.c b/lib/odp-util.c >> index 1dc63ef..467295e 100644 >> --- a/lib/odp-util.c >> +++ b/lib/odp-util.c >> @@ -2005,6 +2005,7 @@ odp_ufid_from_string(const char *s_, ovs_u128 *ufid) >> const char *s = s_; >> >> if (ovs_scan(s, "ufid:")) { >> + char upper[17]; >> size_t n; >> >> s += 5; >> @@ -2017,7 +2018,8 @@ odp_ufid_from_string(const char *s_, ovs_u128 *ufid) >> return -EINVAL; >> } >> >> - if (!ovs_scan(s, "%"SCNx64, &ufid->u64.hi)) { >> + ovs_strzcpy(upper, s, 17); >> + if (!ovs_scan(upper, "%"SCNx64, &ufid->u64.hi)) { >> return -EINVAL; >> } >> s += 16; >> -- >> 1.7.10.4 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev