Message ID | 1308926260-11995-2-git-send-email-cfergeau@redhat.com |
---|---|
State | New |
Headers | show |
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 --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++; }
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(-)