[Midnightbsd-cvs] src: usr.bin/batt: Add -c flag to produce concise output for scripting

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Dec 6 10:20:37 EST 2008


Log Message:
-----------
Add -c flag to produce concise output for scripting use

Modified Files:
--------------
    src/usr.bin/batt:
        batt.1 (r1.2 -> r1.3)
        batt.c (r1.3 -> r1.4)

-------------- next part --------------
Index: batt.c
===================================================================
RCS file: /home/cvs/src/usr.bin/batt/batt.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -L usr.bin/batt/batt.c -L usr.bin/batt/batt.c -u -r1.3 -r1.4
--- usr.bin/batt/batt.c
+++ usr.bin/batt/batt.c
@@ -38,11 +38,14 @@
 {
 	int life, time, units;
 	size_t len;
-	int ch, lflag, tflag, uflag;
+	int ch, cflag, lflag, tflag, uflag;
 
-	lflag = tflag = uflag = 0;
-	while ((ch = getopt(argc, argv, "ltu")) != -1) {
+	cflag = lflag = tflag = uflag = 0;
+	while ((ch = getopt(argc, argv, "cltu")) != -1) {
 		switch (ch) {
+			case 'c':
+				cflag = 1;
+				break;
 			case 'l':
 				lflag = 1;
 				break;
@@ -69,29 +72,40 @@
 		len = sizeof(life);
 		if (sysctlbyname("hw.acpi.battery.life", &life, &len, NULL, 0) < 0)
 			err(1, "ACPI not loaded or no battery found.");
-		printf("%d%% capacity\n", life);
+		if (cflag)
+			printf("%d ", life);
+		else
+			printf("%d%% capacity\n", life);
 	}
 
 	if (tflag) {
 		len = sizeof(time);
 		if (sysctlbyname("hw.acpi.battery.time", &time, &len, NULL, 0) < 0)
 			err(1, "ACPI not loaded or no battery found.");
-		if (time < 1)
-			printf("Battery charging or drained.\n");
-		else if (time == 1)
-			printf("1 minute remaining\n");
-		else
-			printf("%d minutes remaining\n", time);
+		if (cflag)
+			printf("%d ", time);
+		else {
+			if (time < 1)
+				printf("Battery charging or drained.\n");
+			else if (time == 1)
+				printf("1 minute remaining\n");
+			else
+				printf("%d minutes remaining\n", time);
+		}
 	}
 
 	if (uflag) {
 		len = sizeof(units);
         	if (sysctlbyname("hw.acpi.battery.units", &units, &len, NULL, 0) < 0)
                 	err(1, "ACPI not loaded or no battery found.");
-		if (units == 1)
-			printf("1 battery\n");
-        	else
-			printf("%d batteries\n", units);
+		if (cflag)
+			printf("%d", units);
+		else {
+			if (units == 1)
+				printf("1 battery\n");
+        		else
+				printf("%d batteries\n", units);
+		}
 	}
 
 	return (0);
@@ -101,6 +115,6 @@
 usage()
 {
 
-	fprintf(stderr, "usage: batt [-ltf]\n");
+	fprintf(stderr, "usage: batt [-cltf]\n");
 	exit(1);
 }
Index: batt.1
===================================================================
RCS file: /home/cvs/src/usr.bin/batt/batt.1,v
retrieving revision 1.2
retrieving revision 1.3
diff -L usr.bin/batt/batt.1 -L usr.bin/batt/batt.1 -u -r1.2 -r1.3
--- usr.bin/batt/batt.1
+++ usr.bin/batt/batt.1
@@ -32,7 +32,7 @@
 .Nd "battery status and life"
 .Sh SYNOPSIS
 .Nm
-.Op Fl ltu
+.Op Fl cltu
 .Sh DESCRIPTION
 The
 .Nm
@@ -41,6 +41,8 @@
 .Pp
 The following options are available:
 .Bl -tag -width indent
+.It Fl c
+Make output concise for use in scripts
 .It Fl l
 List the battery life remaining as a percentage.
 .It Fl t


More information about the Midnightbsd-cvs mailing list