RT3230: Better test for C identifier
objects.pl only looked for a space to see if the name could be
used as a C identifier. Improve the test to match the real C
rules.
Signed-off-by: Rich Salz <rsalz@akamai.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 591b7aef05
)
This commit is contained in:
parent
1977240204
commit
32b2ad7e07
@ -8,9 +8,9 @@ The basic syntax for adding an object is as follows:
|
|||||||
|
|
||||||
1 2 3 4 : shortName : Long Name
|
1 2 3 4 : shortName : Long Name
|
||||||
|
|
||||||
If the long name doesn't contain spaces, or no short name
|
If Long Name contains only word characters and hyphen-minus
|
||||||
exists, the long name is used as basis for the base name
|
(0x2D) or full stop (0x2E) then Long Name is used as basis
|
||||||
in C. Otherwise, the short name is used.
|
for the base name in C. Otherwise, the shortName is used.
|
||||||
|
|
||||||
The base name (let's call it 'base') will then be used to
|
The base name (let's call it 'base') will then be used to
|
||||||
create the C macros SN_base, LN_base, NID_base and OBJ_base.
|
create the C macros SN_base, LN_base, NID_base and OBJ_base.
|
||||||
@ -22,7 +22,7 @@ Then there are some extra commands:
|
|||||||
|
|
||||||
!Alias foo 1 2 3 4
|
!Alias foo 1 2 3 4
|
||||||
|
|
||||||
This juts makes a name foo for an OID. The C macro
|
This just makes a name foo for an OID. The C macro
|
||||||
OBJ_foo will be created as a result.
|
OBJ_foo will be created as a result.
|
||||||
|
|
||||||
!Cname foo
|
!Cname foo
|
||||||
|
@ -67,7 +67,7 @@ while (<IN>)
|
|||||||
$myoid = &process_oid($myoid);
|
$myoid = &process_oid($myoid);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($Cname eq "" && !($myln =~ / /))
|
if ($Cname eq "" && ($myln =~ /^[_A-Za-z][\w.-]*$/ ))
|
||||||
{
|
{
|
||||||
$Cname = $myln;
|
$Cname = $myln;
|
||||||
$Cname =~ s/\./_/g;
|
$Cname =~ s/\./_/g;
|
||||||
|
Loading…
Reference in New Issue
Block a user