Re: [PATCH 02/11] cal: convert function like definitions to functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 28, 2013 at 06:10:58PM +0100, Sami Kerola wrote:
> Signed-off-by: Sami Kerola <kerolasa@xxxxxx>
> ---

I agree with the change, but the new functions (all functions here,
really) should be marked as static.

>  misc-utils/cal.c | 45 ++++++++++++++++++++++++++++-----------------
>  1 file changed, 28 insertions(+), 17 deletions(-)
> 
> diff --git a/misc-utils/cal.c b/misc-utils/cal.c
> index 13830de..eacf3dd 100644
> --- a/misc-utils/cal.c
> +++ b/misc-utils/cal.c
> @@ -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];
>  };
>  
> +int leap_year(int year);
> +int centuries_since_1700(int year, int centuries);
> +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 */
> +int leap_year(int year)
> +{
> +	if (year <= 1752)
> +		return !(year % 4);
> +	else
> +		return !(year % 4 && (year % 100 || year % 400));
> +}
> +
> +/* number of centuries since 1700 */
> +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 */
> +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;
> -- 
> 1.8.2.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe util-linux" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux