[PATCHv2 1/4] config2header: Replace invalid characters
Philipp Hahn
hahn at univention.de
Wed May 9 04:28:22 EDT 2012
The sieve extension 'vacation-seconds' contains a dash, which is not an
allowed character for C identifiers [A-Z_a-z][0-9A-Z_a-z]*.
Replace all other characters by _ when generating IMAP_ENUMs.
Signed-off-by: Philipp Hahn <hahn at univention.de>
---
tools/config2header | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/tools/config2header b/tools/config2header
index 75b044e..93b0698 100755
--- a/tools/config2header
+++ b/tools/config2header
@@ -164,6 +164,7 @@ while (<STDIN>) {
# strip quotes from default value
$def = substr($2, 1, -1);
$e = "IMAP_ENUM_" . uc($opt) . "_" . uc($def);
+ $e =~ s/[^0-9A-Z_a-z]/_/g;
$def = $use_gcc_extension
? "(union config_value)((enum enum_value) $e)"
: "{(void *)($e)}";
@@ -171,6 +172,7 @@ while (<STDIN>) {
# output the enum_options
foreach $v (@values) {
$e = "IMAP_ENUM_" . uc($opt) . "_" . uc($v);
+ $e =~ s/[^0-9A-Z_a-z]/_/g;
$enums .= " { \"$v\" , $e },\n ";
# if this is the first enum value, normalize to zero
@@ -214,7 +216,9 @@ while (<STDIN>) {
@values = split(' ', $def);
$e = "";
foreach $v (@values) {
- $e .= "IMAP_ENUM_" . uc($opt) . "_" . uc($v) . "\n\t\t\t | ";
+ my $ev = "IMAP_ENUM_" . uc($opt) . "_" . uc($v);
+ $ev =~ s/[^0-9A-Z_a-z]/_/g;
+ $e .= "$ev\n\t\t\t | ";
}
$e .= "0";
$def = $use_gcc_extension
@@ -225,6 +229,7 @@ while (<STDIN>) {
@values = eval $4;
foreach $v (@values) {
$e = "IMAP_ENUM_" . uc($opt) . "_" . uc($v);
+ $e =~ s/[^0-9A-Z_a-z]/_/g;
$enums .= " { \"$v\" , $e },\n ";
# add the corresponding bit value
--
1.7.1
More information about the Cyrus-devel
mailing list