1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<pre>
<font color="#0000ff">// Copyright (c) 2003 David Muse</font>
<font color="#0000ff">// See the file COPYING for more information</font>
<font color="#a020f0">#include </font><font color="#ff00ff"><rudiments/timezonefile.h></font>
<font color="#a020f0">#include </font><font color="#ff00ff"><stdio.h></font>
<font color="#a020f0">#include </font><font color="#ff00ff"><stdlib.h></font>
<font color="#a020f0">#ifdef RUDIMENTS_NAMESPACE</font>
<font color="#a52a2a"><b>using</b></font> <font color="#2e8b57"><b>namespace</b></font> rudiments;
<font color="#a020f0">#endif</font>
<font color="#2e8b57"><b>int</b></font> main(<font color="#2e8b57"><b>int</b></font> argc, <font color="#2e8b57"><b>char</b></font> **argv) {
<font color="#0000ff">// parse the timezone file specified in the first argument</font>
timezonefile tz;
<font color="#a52a2a"><b>if</b></font> (!tz.parseFile(argv[<font color="#ff00ff">1</font>])) {
printf(<font color="#ff00ff">"usage: tzn file</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>);
exit(<font color="#ff00ff">1</font>);
}
<font color="#0000ff">// print using built-in method</font>
tz.print();
printf(<font color="#ff00ff">"</font><font color="#6a5acd">\n\n</font><font color="#ff00ff">"</font>);
<font color="#0000ff">// print manually</font>
printf(<font color="#ff00ff">"ttisgmtcnt: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,tz.getIsGMTCount());
printf(<font color="#ff00ff">"ttisstdcnt: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,tz.getIsSTDCount());
printf(<font color="#ff00ff">"leapcnt: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,tz.getLeapCount());
printf(<font color="#ff00ff">"timecnt: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,tz.getTimeCount());
printf(<font color="#ff00ff">"typecnt: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,tz.getTypeCount());
printf(<font color="#ff00ff">"charcnt: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,tz.getCharacterCount());
<font color="#2e8b57"><b>int</b></font> i;
<font color="#a52a2a"><b>for</b></font> (i=<font color="#ff00ff">0</font>; i<tz.getTimeCount(); i++) {
printf(<font color="#ff00ff">"transitiontime[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i,tz.getTransitionTime(i));
}
<font color="#a52a2a"><b>for</b></font> (i=<font color="#ff00ff">0</font>; i<tz.getTimeCount(); i++) {
printf(<font color="#ff00ff">"localtime[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]: </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i,tz.getLocalTimes(i));
}
<font color="#a52a2a"><b>for</b></font> (i=<font color="#ff00ff">0</font>; i<tz.getTypeCount(); i++) {
printf(<font color="#ff00ff">"ttinfo[</font><font color="#6a5acd">%d</font><font color="#ff00ff">] {</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i);
printf(<font color="#ff00ff">" tt_gmtoff: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,
tz.getTimeTypeInfo(i)->tt_gmtoff);
printf(<font color="#ff00ff">" tt_isdst: </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,
tz.getTimeTypeInfo(i)->tt_isdst);
printf(<font color="#ff00ff">" tt_abbrind: </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,
tz.getTimeTypeInfo(i)->tt_abbrind);
printf(<font color="#ff00ff">"}</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>);
}
printf(<font color="#ff00ff">"rawtimezonestring: "</font>);
<font color="#a52a2a"><b>for</b></font> (<font color="#2e8b57"><b>int</b></font> i=<font color="#ff00ff">0</font>; i<tz.getCharacterCount(); i++) {
<font color="#a52a2a"><b>if</b></font> (tz.getRawTimeZoneString()[i]==(<font color="#2e8b57"><b>char</b></font>)<font color="#ff00ff">NULL</font>) {
printf(<font color="#ff00ff">" "</font>);
}
printf(<font color="#ff00ff">"</font><font color="#6a5acd">%c</font><font color="#ff00ff">"</font>,tz.getRawTimeZoneString()[i]);
}
printf(<font color="#ff00ff">"</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>);
<font color="#a52a2a"><b>for</b></font> (i=<font color="#ff00ff">0</font>; i<tz.getLeapCount(); i++) {
printf(<font color="#ff00ff">"leapsecondtime[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i,
tz.getLeapSecondTime(i));
printf(<font color="#ff00ff">"totalleapseconds[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]: </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i,
tz.getTotalLeapSeconds(i));
}
<font color="#a52a2a"><b>for</b></font> (<font color="#2e8b57"><b>int</b></font> counter=<font color="#ff00ff">0</font>; counter<tz.getTypeCount(); counter++) {
printf(<font color="#ff00ff">"timezonestrings[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]=</font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,counter,
tz.getTimeZoneString(counter));
}
<font color="#a52a2a"><b>for</b></font> (i=<font color="#ff00ff">0</font>; i<tz.getIsSTDCount(); i++) {
printf(<font color="#ff00ff">"transstdwall[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]: </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i,
tz.getStandardOrWallIndicator(i));
}
<font color="#a52a2a"><b>for</b></font> (i=<font color="#ff00ff">0</font>; i<tz.getIsGMTCount(); i++) {
printf(<font color="#ff00ff">"transutclocal[</font><font color="#6a5acd">%d</font><font color="#ff00ff">]: </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,i,
tz.getUTCOrLocalIndicator(i));
}
}
</pre>
|