2 Copyright (C) 2005 SKYRIX Software AG
4 This file is part of SOPE.
6 SOPE is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with SOPE; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22 #include <NGiCal/iCalRecurrenceRule.h>
25 static int usage(NSArray *args) {
27 "usage: %s <rrule> <startdate> <enddate>\n"
30 " %s 'FREQ=MONTHLY;BYDAY=2TU' 20050901 20060301\n",
31 [[args objectAtIndex:0] cString],
32 [[args objectAtIndex:0] cString]);
36 static int runIt(NSArray *args) {
37 iCalRecurrenceRule *rrule;
38 NSCalendarDate *from, *to;
45 pattern = [args objectAtIndex:1];
46 s = [[args objectAtIndex:2] stringByAppendingString:@" 00:00"];
47 from = [NSCalendarDate dateWithString:s calendarFormat:@"%Y%m%d %H:%M"];
48 s = [[args objectAtIndex:3] stringByAppendingString:@" 23:59"];
49 to = [NSCalendarDate dateWithString:s calendarFormat:@"%Y%m%d %H:%M"];
51 if (from == nil || to == nil || ![pattern isNotEmpty])
54 if ((rrule = [[iCalRecurrenceRule alloc] initWithString:pattern]) == nil) {
56 fprintf(stderr, "error: could not parse reccurence rule: '%s'\n",
61 NSLog(@"from: %@ to: %@", from, to);
62 NSLog(@"rrule: %@", rrule);
67 int main(int argc, char **argv, char **env) {
68 NSAutoreleasePool *pool;
71 pool = [[NSAutoreleasePool alloc] init];
72 #if LIB_FOUNDATION_LIBRARY
73 [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
76 rc = runIt([[NSProcessInfo processInfo] argumentsWithoutDefaults]);