projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ls: do not follow links with -s (closes bug 33),
[oweals/busybox.git]
/
coreutils
/
cal.c
diff --git
a/coreutils/cal.c
b/coreutils/cal.c
index f8fc0b0d3456b4a9c7fe64585fda9690068e429f..9b597772ec2404bd399da05442780fc9a13e3465 100644
(file)
--- a/
coreutils/cal.c
+++ b/
coreutils/cal.c
@@
-30,22
+30,23
@@
#define MAXDAYS 42 /* max slots in a month array */
#define SPACE -1 /* used in day array */
#define MAXDAYS 42 /* max slots in a month array */
#define SPACE -1 /* used in day array */
-static const unsigned char days_in_month[] = {
+static const unsigned char days_in_month[]
ALIGN1
= {
0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};
0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};
-static const unsigned char sep1752[] = {
+static const unsigned char sep1752[]
ALIGN1
= {
1, 2, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30
};
1, 2, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30
};
-static unsigned julian;
+/* Set to 0 or 1 in main */
+#define julian ((unsigned)option_mask32)
/* leap year -- account for Gregorian reformation in 1752 */
static int leap_year(unsigned yr)
{
/* leap year -- account for Gregorian reformation in 1752 */
static int leap_year(unsigned yr)
{
- if (yr <= 1752)
+ if (yr <= 1752)
return !(yr % 4);
return (!(yr % 4) && (yr % 100)) || !(yr % 400);
}
return !(yr % 4);
return (!(yr % 4) && (yr % 100)) || !(yr % 400);
}
@@
-75,7
+76,7
@@
static char *build_row(char *p, unsigned *dp);
#define J_WEEK_LEN (WEEK_LEN + 7)
#define HEAD_SEP 2 /* spaces between day headings */
#define J_WEEK_LEN (WEEK_LEN + 7)
#define HEAD_SEP 2 /* spaces between day headings */
-int cal_main(int argc, char **argv);
+int cal_main(int argc, char **argv)
MAIN_EXTERNALLY_VISIBLE
;
int cal_main(int argc, char **argv)
{
struct tm *local_time;
int cal_main(int argc, char **argv)
{
struct tm *local_time;
@@
-86,8
+87,9
@@
int cal_main(int argc, char **argv)
char day_headings[28]; /* 28 for julian, 21 for nonjulian */
char buf[40];
char day_headings[28]; /* 28 for julian, 21 for nonjulian */
char buf[40];
- flags = getopt32(argc, argv, "jy");
- julian = flags & 1;
+ flags = getopt32(argv, "jy");
+ /* This sets julian = flags & 1: */
+ option_mask32 &= 1;
month = 0;
argv += optind;
argc -= optind;
month = 0;
argv += optind;
argc -= optind;
@@
-100,7
+102,7
@@
int cal_main(int argc, char **argv)
time(&now);
local_time = localtime(&now);
year = local_time->tm_year + 1900;
time(&now);
local_time = localtime(&now);
year = local_time->tm_year + 1900;
- if (!(flags & 2)) {
+ if (!(flags & 2)) {
/* no -y */
month = local_time->tm_mon + 1;
}
} else {
month = local_time->tm_mon + 1;
}
} else {
@@
-167,7
+169,7
@@
int cal_main(int argc, char **argv)
if (!julian) {
printf("%*s%s", HEAD_SEP, "", day_headings);
}
if (!julian) {
printf("%*s%s", HEAD_SEP, "", day_headings);
}
- putchar('\n');
+
bb_
putchar('\n');
for (row = 0; row < (6*7); row += 7) {
for (which_cal = 0; which_cal < 3-julian; which_cal++) {
dp = days[month + which_cal] + row;
for (row = 0; row < (6*7); row += 7) {
for (which_cal = 0; which_cal < 3-julian; which_cal++) {
dp = days[month + which_cal] + row;
@@
-179,7
+181,7
@@
int cal_main(int argc, char **argv)
}
}
}
}
- fflush_stdout_and_exit(
0
);
+ fflush_stdout_and_exit(
EXIT_SUCCESS
);
}
/*
}
/*