libcacard: s/strip(args++)/strip(args+1)
authorChristophe Fergeau <cfergeau@redhat.com>
Fri, 22 Jul 2011 11:42:17 +0000 (13:42 +0200)
committerAlon Levy <alevy@redhat.com>
Fri, 22 Jul 2011 15:05:36 +0000 (18:05 +0300)
vcard_emul_options used args = strip(args++) a few times, which
was not returning the expected result since the rest of the code
expected args to be increased by at least 1, which is not the case
if *args is not a blank space when this function is called.
Replace these calls by "strip(args+1)" which will do what we expect.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Reviewed-by: Alon Levy <alevy@redhat.com>
libcacard/vcard_emul_nss.c

index f1763f5..8c59eff 100644 (file)
@@ -1171,7 +1171,7 @@ vcard_emul_options(const char *args)
                 args++;
                 continue;
             }
-            args = strip(args++);
+            args = strip(args+1);
             type_params = args;
             args = strpbrk(args + 1, ",)");
             if (*args == 0) {
@@ -1182,7 +1182,7 @@ vcard_emul_options(const char *args)
                 continue;
             }
             type_params_length = args - name;
-            args = strip(args++);
+            args = strip(args+1);
             if (*args == 0) {
                 break;
             }