diff mbox

[2/2] libcacard: replace copy_string with strndup

Message ID 1308926260-11995-2-git-send-email-cfergeau@redhat.com
State New
Headers show

Commit Message

Christophe Fergeau June 24, 2011, 2:37 p.m. UTC
copy_string reimplements strndup, this commit removes it and
replaces all copy_string uses with strndup.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
---
 libcacard/vcard_emul_nss.c |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

Comments

Alon Levy June 24, 2011, 2:52 p.m. UTC | #1
On Fri, Jun 24, 2011 at 04:37:40PM +0200, Christophe Fergeau wrote:
> copy_string reimplements strndup, this commit removes it and
> replaces all copy_string uses with strndup.
> 

Reviewed-by: Alon Levy <alevy@redhat.com>

> Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
> ---
>  libcacard/vcard_emul_nss.c |   23 ++++++-----------------
>  1 files changed, 6 insertions(+), 17 deletions(-)
> 
> diff --git a/libcacard/vcard_emul_nss.c b/libcacard/vcard_emul_nss.c
> index 2a20bd6..de324ba 100644
> --- a/libcacard/vcard_emul_nss.c
> +++ b/libcacard/vcard_emul_nss.c
> @@ -925,17 +925,6 @@ vcard_emul_replay_insertion_events(void)
>  /*
>   *  Silly little functions to help parsing our argument string
>   */
> -static char *
> -copy_string(const char *str, int str_len)
> -{
> -    char *new_str;
> -
> -    new_str = qemu_malloc(str_len+1);
> -    memcpy(new_str, str, str_len);
> -    new_str[str_len] = 0;
> -    return new_str;
> -}
> -
>  static int
>  count_tokens(const char *str, char token, char token_end)
>  {
> @@ -1054,18 +1043,18 @@ vcard_emul_options(const char *args)
>              }
>              opts->vreader = vreaderOpt;
>              vreaderOpt = &vreaderOpt[opts->vreader_count];
> -            vreaderOpt->name = copy_string(name, name_length);
> -            vreaderOpt->vname = copy_string(vname, vname_length);
> +            vreaderOpt->name = qemu_strndup(name, name_length);
> +            vreaderOpt->vname = qemu_strndup(vname, vname_length);
>              vreaderOpt->card_type = type;
>              vreaderOpt->type_params =
> -                copy_string(type_params, type_params_length);
> +                qemu_strndup(type_params, type_params_length);
>              count = count_tokens(args, ',', ')') + 1;
>              vreaderOpt->cert_count = count;
>              vreaderOpt->cert_name = (char **)qemu_malloc(count*sizeof(char *));
>              for (i = 0; i < count; i++) {
>                  const char *cert = args;
>                  args = strpbrk(args, ",)");
> -                vreaderOpt->cert_name[i] = copy_string(cert, args - cert);
> +                vreaderOpt->cert_name[i] = qemu_strndup(cert, args - cert);
>                  args = strip(args+1);
>              }
>              if (*args == ')') {
> @@ -1092,7 +1081,7 @@ vcard_emul_options(const char *args)
>              args = strip(args+10);
>              params = args;
>              args = find_blank(args);
> -            opts->hw_type_params = copy_string(params, args-params);
> +            opts->hw_type_params = qemu_strndup(params, args-params);
>          /* db="/data/base/path" */
>          } else if (strncmp(args, "db=", 3) == 0) {
>              const char *db;
> @@ -1103,7 +1092,7 @@ vcard_emul_options(const char *args)
>              args++;
>              db = args;
>              args = strpbrk(args, "\"\n");
> -            opts->nss_db = copy_string(db, args-db);
> +            opts->nss_db = qemu_strndup(db, args-db);
>              if (*args != 0) {
>                  args++;
>              }
> -- 
> 1.7.5.4
> 
>
diff mbox

Patch

diff --git a/libcacard/vcard_emul_nss.c b/libcacard/vcard_emul_nss.c
index 2a20bd6..de324ba 100644
--- a/libcacard/vcard_emul_nss.c
+++ b/libcacard/vcard_emul_nss.c
@@ -925,17 +925,6 @@  vcard_emul_replay_insertion_events(void)
 /*
  *  Silly little functions to help parsing our argument string
  */
-static char *
-copy_string(const char *str, int str_len)
-{
-    char *new_str;
-
-    new_str = qemu_malloc(str_len+1);
-    memcpy(new_str, str, str_len);
-    new_str[str_len] = 0;
-    return new_str;
-}
-
 static int
 count_tokens(const char *str, char token, char token_end)
 {
@@ -1054,18 +1043,18 @@  vcard_emul_options(const char *args)
             }
             opts->vreader = vreaderOpt;
             vreaderOpt = &vreaderOpt[opts->vreader_count];
-            vreaderOpt->name = copy_string(name, name_length);
-            vreaderOpt->vname = copy_string(vname, vname_length);
+            vreaderOpt->name = qemu_strndup(name, name_length);
+            vreaderOpt->vname = qemu_strndup(vname, vname_length);
             vreaderOpt->card_type = type;
             vreaderOpt->type_params =
-                copy_string(type_params, type_params_length);
+                qemu_strndup(type_params, type_params_length);
             count = count_tokens(args, ',', ')') + 1;
             vreaderOpt->cert_count = count;
             vreaderOpt->cert_name = (char **)qemu_malloc(count*sizeof(char *));
             for (i = 0; i < count; i++) {
                 const char *cert = args;
                 args = strpbrk(args, ",)");
-                vreaderOpt->cert_name[i] = copy_string(cert, args - cert);
+                vreaderOpt->cert_name[i] = qemu_strndup(cert, args - cert);
                 args = strip(args+1);
             }
             if (*args == ')') {
@@ -1092,7 +1081,7 @@  vcard_emul_options(const char *args)
             args = strip(args+10);
             params = args;
             args = find_blank(args);
-            opts->hw_type_params = copy_string(params, args-params);
+            opts->hw_type_params = qemu_strndup(params, args-params);
         /* db="/data/base/path" */
         } else if (strncmp(args, "db=", 3) == 0) {
             const char *db;
@@ -1103,7 +1092,7 @@  vcard_emul_options(const char *args)
             args++;
             db = args;
             args = strpbrk(args, "\"\n");
-            opts->nss_db = copy_string(db, args-db);
+            opts->nss_db = qemu_strndup(db, args-db);
             if (*args != 0) {
                 args++;
             }