From 591b7aef05b22cba09b179e5787a9bf40dfc9508 Mon Sep 17 00:00:00 2001 From: Annie Yousar Date: Sun, 3 May 2015 09:05:47 -0400 Subject: 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 Reviewed-by: Matt Caswell --- crypto/objects/objects.README | 8 ++++---- crypto/objects/objects.pl | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'crypto/objects') diff --git a/crypto/objects/objects.README b/crypto/objects/objects.README index 4d745508d8..cb1d216ce8 100644 --- a/crypto/objects/objects.README +++ b/crypto/objects/objects.README @@ -8,9 +8,9 @@ The basic syntax for adding an object is as follows: 1 2 3 4 : shortName : Long Name - If the long name doesn't contain spaces, or no short name - exists, the long name is used as basis for the base name - in C. Otherwise, the short name is used. + If Long Name contains only word characters and hyphen-minus + (0x2D) or full stop (0x2E) then Long Name is used as basis + for the base name in C. Otherwise, the shortName is used. 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. @@ -22,7 +22,7 @@ Then there are some extra commands: !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. !Cname foo diff --git a/crypto/objects/objects.pl b/crypto/objects/objects.pl index d0ed459d3d..389dc34837 100644 --- a/crypto/objects/objects.pl +++ b/crypto/objects/objects.pl @@ -67,7 +67,7 @@ while () $myoid = &process_oid($myoid); } - if ($Cname eq "" && !($myln =~ / /)) + if ($Cname eq "" && ($myln =~ /^[_A-Za-z][\w.-]*$/ )) { $Cname = $myln; $Cname =~ s/\./_/g; -- cgit v1.2.3