[BusyBox-cvs] busybox/coreutils date.c,1.41,1.42

Glenn McGrath bug1 at busybox.net
Tue Feb 17 07:51:34 UTC 2004


Update of /var/cvs/busybox/coreutils
In directory nail:/tmp/cvs-serv21182/coreutils

Modified Files:
	date.c 
Log Message:
define option names to be clearer, simplify nested if statements, remove 
un-needed if statement, minor indenting change


Index: date.c
===================================================================
RCS file: /var/cvs/busybox/coreutils/date.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- date.c	23 Jul 2003 23:24:31 -0000	1.41
+++ date.c	17 Feb 2004 07:51:31 -0000	1.42
@@ -114,6 +114,11 @@
 	return (tm_time);
 }
 
+#define DATE_OPT_RFC2822	0x01
+#define DATE_OPT_SET    	0x02
+#define DATE_OPT_UTC    	0x04
+#define DATE_OPT_DATE   	0x08
+#define DATE_OPT_REFERENCE	0x10
 
 int date_main(int argc, char **argv)
 {
@@ -121,7 +126,6 @@
 	char *date_fmt = NULL;
 	char *t_buff;
 	int set_time;
-	int rfc822;
 	int utc;
 	int use_arg = 0;
 	time_t tm;
@@ -143,37 +147,35 @@
 					, &isofmt_arg
 #endif
 					);
-	rfc822 = opt & 1;
-	set_time = opt & 2;
-	utc = opt & 4;
-	if(utc) {
-			if (putenv("TZ=UTC0") != 0)
-				bb_error_msg_and_die(bb_msg_memory_exhausted);
+	set_time = opt & DATE_OPT_SET;
+	utc = opt & DATE_OPT_UTC;
+	if ((utc) && (putenv("TZ=UTC0") != 0)) {
+		bb_error_msg_and_die(bb_msg_memory_exhausted);
 	}
-	use_arg = opt & 8;
+	use_arg = opt & DATE_OPT_DATE;
 	if(opt & 0x80000000UL)
-				bb_show_usage();
+		bb_show_usage();
 #ifdef CONFIG_FEATURE_DATE_ISOFMT
-	if(opt & 16) {
-		if (!isofmt_arg)
-				ifmt = 1;
-			else {
+	if(opt & DATE_OPT_REFERENCE) {
+		if (!isofmt_arg) {
+			ifmt = 1;
+		} else {
 			int ifmt_len = bb_strlen(isofmt_arg);
 
-				if ((ifmt_len <= 4)
+			if ((ifmt_len <= 4)
 				&& (strncmp(isofmt_arg, "date", ifmt_len) == 0)) {
-					ifmt = 1;
-				} else if ((ifmt_len <= 5)
-					   && (strncmp(isofmt_arg, "hours", ifmt_len) == 0)) {
-					ifmt = 2;
-				} else if ((ifmt_len <= 7)
-					   && (strncmp(isofmt_arg, "minutes", ifmt_len) == 0)) {
-					ifmt = 3;
-				} else if ((ifmt_len <= 7)
-					   && (strncmp(isofmt_arg, "seconds", ifmt_len) == 0)) {
-					ifmt = 4;
-				}
+				ifmt = 1;
+			} else if ((ifmt_len <= 5)
+				   && (strncmp(isofmt_arg, "hours", ifmt_len) == 0)) {
+				ifmt = 2;
+			} else if ((ifmt_len <= 7)
+				   && (strncmp(isofmt_arg, "minutes", ifmt_len) == 0)) {
+				ifmt = 3;
+			} else if ((ifmt_len <= 7)
+				   && (strncmp(isofmt_arg, "seconds", ifmt_len) == 0)) {
+				ifmt = 4;
 			}
+		}
 		if (!ifmt) {
 			bb_show_usage();
 		}
@@ -197,11 +199,8 @@
 		tm_time.tm_sec = 0;
 		tm_time.tm_min = 0;
 		tm_time.tm_hour = 0;
-	}
-
-	/* Process any date input to UNIX time since 1 Jan 1970 */
-	if (date_str != NULL) {
 
+		/* Process any date input to UNIX time since 1 Jan 1970 */
 		if (strchr(date_str, ':') != NULL) {
 			date_conv_ftime(&tm_time, date_str);
 		} else {
@@ -246,7 +245,7 @@
 		default:
 #endif
 			date_fmt =
-				(rfc822
+				(opt & DATE_OPT_RFC2822
 				 ? (utc ? "%a, %e %b %Y %H:%M:%S GMT" :
 					"%a, %e %b %Y %H:%M:%S %z") : "%a %b %e %H:%M:%S %Z %Y");
 




More information about the busybox-cvs mailing list