You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.6 KiB
86 lines
1.6 KiB
#!/usr/bin/perl
|
|
|
|
# Version: 1.0
|
|
# Script last updated: 30May1999 GMD
|
|
# Change log:
|
|
# <none>
|
|
|
|
|
|
# usually open params-in-prop.txt
|
|
open(F,"$ARGV[0]") || die "Can't open restriction file $ARGV[0]:$!";
|
|
|
|
print <<EOM;
|
|
/*
|
|
======================================================================
|
|
File: parameterrestrictions.c
|
|
|
|
(C) COPYRIGHT 1999 Graham Davison
|
|
mailto:g.m.davison\@computer.org
|
|
|
|
The contents of this file are subject to the Mozilla Public License
|
|
Version 1.0 (the "License"); you may not use this file except in
|
|
compliance with the License. You may obtain a copy of the License at
|
|
http://www.mozilla.org/MPL/
|
|
|
|
Software distributed under the License is distributed on an "AS IS"
|
|
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
|
|
the License for the specific language governing rights and
|
|
limitations under the License.
|
|
|
|
|
|
======================================================================*/
|
|
|
|
/*
|
|
* THIS FILE IS MACHINE GENERATED DO NOT EDIT
|
|
*/
|
|
|
|
|
|
int icalrestriction_is_parameter_allowed(icalproperty_kind prop,icalparameter_kind param)
|
|
{
|
|
switch (prop)
|
|
{
|
|
EOM
|
|
|
|
while(<F>)
|
|
{
|
|
chop;
|
|
|
|
# split line by whitespace
|
|
my @v = split(/\s+/,$_);
|
|
# property is first item on line
|
|
my $prop = shift @v;
|
|
my $prop_name = $prop;
|
|
if (substr($prop,0,1) eq "X") { $prop = "X"; }
|
|
$prop = join("",split(/-/,$prop));
|
|
|
|
print <<EOM;
|
|
|
|
/* ${prop_name} */
|
|
case ICAL_${prop}_PROPERTY:
|
|
switch (param)
|
|
{
|
|
EOM
|
|
|
|
foreach $param (@v)
|
|
{
|
|
$param = join("",split(/-/,$param));
|
|
print "\t\t\t\tcase ICAL_${param}_PARAMETER:\n";
|
|
}
|
|
|
|
print <<EOM;
|
|
return 1;
|
|
default:
|
|
return 0;
|
|
}
|
|
|
|
EOM
|
|
|
|
}
|
|
|
|
print <<EOM;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
EOM
|