teletexString is now a real string type

This commit is contained in:
Love Hornquist Astrand
2009-09-30 00:54:13 -07:00
parent 4d06f484ec
commit 215b3813f6

View File

@@ -243,11 +243,7 @@ _hx509_Name_to_string(const Name *n, char **str)
break; break;
} }
case choice_DirectoryString_teletexString: case choice_DirectoryString_teletexString:
ss = malloc(ds->u.teletexString.length + 1); ss = ds->u.teletexString;
if (ss == NULL)
_hx509_abort("allocation failure"); /* XXX */
memcpy(ss, ds->u.teletexString.data, ds->u.teletexString.length);
ss[ds->u.teletexString.length] = '\0';
break; break;
case choice_DirectoryString_universalString: { case choice_DirectoryString_universalString: {
const uint32_t *uni = ds->u.universalString.data; const uint32_t *uni = ds->u.universalString.data;
@@ -279,8 +275,7 @@ _hx509_Name_to_string(const Name *n, char **str)
len = strlen(ss); len = strlen(ss);
append_string(str, &total_len, ss, len, 1); append_string(str, &total_len, ss, len, 1);
if (ds->element == choice_DirectoryString_universalString || if (ds->element == choice_DirectoryString_universalString ||
ds->element == choice_DirectoryString_bmpString || ds->element == choice_DirectoryString_bmpString)
ds->element == choice_DirectoryString_teletexString)
{ {
free(ss); free(ss);
} }
@@ -341,7 +336,7 @@ dsstringprep(const DirectoryString *ds, uint32_t **rname, size_t *rlen)
COPYCHARARRAY(ds, printableString, len, name); COPYCHARARRAY(ds, printableString, len, name);
break; break;
case choice_DirectoryString_teletexString: case choice_DirectoryString_teletexString:
COPYVOIDARRAY(ds, teletexString, len, name); COPYCHARARRAY(ds, teletexString, len, name);
break; break;
case choice_DirectoryString_bmpString: case choice_DirectoryString_bmpString:
COPYVALARRAY(ds, bmpString, len, name); COPYVALARRAY(ds, bmpString, len, name);