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

Reply via email to