From 25e1b34aafe43ba6cf1040340a38dd38a90aad33 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 18 Apr 2000 18:17:07 +0000 Subject: import of libical-0.16 svn path=/trunk/; revision=2484 --- libical/scripts/.cvsignore | 1 + libical/scripts/Makefile.am | 8 +++++++ libical/scripts/mkderivedcomponents.pl | 35 ++++++++++++++++++++++++++---- libical/scripts/mkderivedparameters.pl | 39 +++++++++++++++++++--------------- 4 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 libical/scripts/.cvsignore create mode 100644 libical/scripts/Makefile.am (limited to 'libical/scripts') diff --git a/libical/scripts/.cvsignore b/libical/scripts/.cvsignore new file mode 100644 index 0000000000..70845e08eb --- /dev/null +++ b/libical/scripts/.cvsignore @@ -0,0 +1 @@ +Makefile.in diff --git a/libical/scripts/Makefile.am b/libical/scripts/Makefile.am new file mode 100644 index 0000000000..fd1b053cb6 --- /dev/null +++ b/libical/scripts/Makefile.am @@ -0,0 +1,8 @@ +EXTRA_DIST = \ +mkderivedcomponents.pl \ +mkderivedparameters.pl \ +mkderivedproperties.pl \ +mkderivedvalues.pl \ +mkparameterrestrictions.pl \ +mkrestrictionrecords.pl \ +mkrestrictiontable.pl diff --git a/libical/scripts/mkderivedcomponents.pl b/libical/scripts/mkderivedcomponents.pl index 3599a8d465..ac4e472250 100755 --- a/libical/scripts/mkderivedcomponents.pl +++ b/libical/scripts/mkderivedcomponents.pl @@ -1,7 +1,7 @@ #!/usr/local/bin/perl use Getopt::Std; -getopts('chsp'); +getopts('chspi:'); # ARG 0 is components.txt @@ -11,6 +11,8 @@ my @components; while (){ + s/#.*//; + chop; push(@components,$_); @@ -19,7 +21,32 @@ while (){ close PV; -if ($opt_c or $opt_h){ +# Write the file inline by copying everything before a demarcation +# line, and putting the generated data after the demarcation + +if ($opt_i) { + + open(IN,$opt_i) || die "Can't open input file \"$opt_i\""; + + while(){ + + if (/Do not edit/){ + last; + } + + print; + + } + + if($opt_i){ + print "# Everything below this line is machine generated. Do not edit. \n"; + } else { + print "/* Everything below this line is machine generated. Do not edit. */\n"; + } + +} + +if ($opt_c or $opt_h and !$opt_i){ print <){ my $set_code; my $pointer_check; my $new_pointer_check; + my $new_pointer_check_v; + my $xrange; - $new_pointer_check = "icalerror_check_arg_rz( (v!=0),\"v\");" if $type=~/char/; + if ($type=~/char/){ + $new_pointer_check = "icalerror_check_arg_rz( (v!=0),\"v\");"; + $new_pointer_check_v = "icalerror_check_arg_rv( (v!=0),\"v\");"; + } if ($type=~/char/ ) { @@ -177,7 +186,7 @@ $charorenum void icalparameter_set_${lc}(icalparameter* param, ${type} v) { - $new_pointer_check + $new_pointer_check_v icalerror_check_arg_rv( (param!=0), "param"); icalerror_clear_errno(); @@ -215,8 +224,8 @@ EOM # $param -package ICal::Parameter::${ucf}; -\@ISA=qw(ICal::Parameter); +package Net::ICal::Parameter::${ucf}; +\@ISA=qw(Net::ICal::Parameter); sub new { @@ -226,14 +235,15 @@ sub new bless \$self, \$package; - my \$p = ICal::icalparameter_new(\$ICal::ICAL_${uc}_PARAMETER); - - \$self->[0] = \$p; + my \$p; if (\$value) { - \$self->set(\$value); + \$p = Net::ICal::icalparameter_new_from_string(\$Net::ICal::ICAL_${uc}_PARAMETER,\$value); + } else { + \$p = Net::ICal::icalparameter_new(\$Net::ICal::ICAL_${uc}_PARAMETER); } + \$self->[0] = \$p; return \$self; } @@ -243,19 +253,14 @@ sub get my \$self = shift; my \$impl = \$self->_impl(); - return ICal::icalparameter_as_ical_string(\$impl); + return Net::ICal::icalparameter_as_ical_string(\$impl); } sub set { - - my \$self = shift; - my \$v = shift; - - my \$impl = \$self->_impl(); - - ICal::icalparameter_set_${lc}(\$impl,\$v) unless !\$v; + # This is hard to implement, so I've punted for now. + die "Set is not implemented"; } EOM -- cgit v1.2.3