]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
cal: convert function like definitions to functions
authorSami Kerola <kerolasa@iki.fi>
Sat, 27 Apr 2013 21:51:35 +0000 (22:51 +0100)
committerSami Kerola <kerolasa@iki.fi>
Sun, 26 May 2013 08:59:18 +0000 (09:59 +0100)
Reviewed-by: Thomas Bächler <thomas@archlinux.org>
Reviewed-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
misc-utils/cal.c

index 13830deecbcc1034e9f29570368792f4f2085630..e6dd92f514eb7e350707adf42fd4baad224af9ff 100644 (file)
@@ -209,23 +209,6 @@ char j_day_headings[J_WEEK_LEN*6+1];
 /* weekstart = 1  =>   "  M  Tu   W  Th   F   S   S " */
 const char *full_month[12];
 
-/* leap year -- account for gregorian reformation in 1752 */
-#define        leap_year(yr) \
-       ((yr) <= 1752 ? !((yr) % 4) : \
-       (!((yr) % 4) && ((yr) % 100)) || !((yr) % 400))
-
-/* number of centuries since 1700, not inclusive */
-#define        centuries_since_1700(yr) \
-       ((yr) > 1700 ? (yr) / 100 - 17 : 0)
-
-/* number of centuries since 1700 whose modulo of 400 is 0 */
-#define        quad_centuries_since_1700(yr) \
-       ((yr) > 1600 ? ((yr) - 1600) / 400 : 0)
-
-/* number of leap years between year 1 and this year, not inclusive */
-#define        leap_years_since_year_1(yr) \
-       ((yr) / 4 - centuries_since_1700(yr) + quad_centuries_since_1700(yr))
-
 /* 0 => sunday, 1 => monday */
 int weekstart=0;
 int julian;
@@ -239,6 +222,9 @@ struct fmt_st
   char s[FMT_ST_LINES][FMT_ST_CHARS];
 };
 
+static int leap_year(int year);
+static int centuries_since_1700(int year, int centuries);
+static int leap_years_since_year_1(int year);
 char * ascii_day(char *, int);
 int center_str(const char* src, char* dest, size_t dest_size, size_t width);
 void center(const char *, size_t, int);
@@ -413,6 +399,31 @@ main(int argc, char **argv) {
        return EXIT_SUCCESS;
 }
 
+/* leap year -- account for gregorian reformation in 1752 */
+static int leap_year(int year)
+{
+       if (year <= 1752)
+               return !(year % 4);
+       else
+               return ( !(year % 4) && (year % 100) ) || !(year % 400);
+}
+
+/* number of centuries since 1700 */
+static int centuries_since_1700(int year, int n)
+{
+       if (year < 1700)
+               return 0;
+       else
+               return ((year / (100 * n)) - (17 / n));
+}
+
+/* number of leap years between year 1 and this year, not inclusive */
+static int leap_years_since_year_1(int year)
+{
+       return (year / 4 - centuries_since_1700(year, 1) +
+               centuries_since_1700(year, 4));
+}
+
 void headers_init(void)
 {
        int i, wd;