svn commit: trunk/busybox/miscutils

landley at busybox.net landley at busybox.net
Sat Apr 29 19:11:27 UTC 2006


Author: landley
Date: 2006-04-29 12:11:24 -0700 (Sat, 29 Apr 2006)
New Revision: 14971

Log:
Remove some unused code pointed out by Tito, plus a slightly more graceful
way of handling endianness.


Modified:
   trunk/busybox/miscutils/hdparm.c


Changeset:
Modified: trunk/busybox/miscutils/hdparm.c
===================================================================
--- trunk/busybox/miscutils/hdparm.c	2006-04-29 16:06:31 UTC (rev 14970)
+++ trunk/busybox/miscutils/hdparm.c	2006-04-29 19:11:24 UTC (rev 14971)
@@ -632,10 +632,8 @@
    intentional. */
 static void identify(uint16_t *id_supplied, const char *devname)
 {
-
-	char *id_file = NULL;
-	FILE *fl;
-	uint16_t val[256], ii, jj, kk;
+	uint16_t buf[256];
+	uint16_t *val, ii, jj, kk;
 	uint16_t like_std = 1, std = 0, min_std = 0xffff;
 	uint16_t dev = NO_DEV, eqpt = NO_DEV;
 	uint8_t  have_mode = 0, err_dma = 0;
@@ -643,37 +641,11 @@
 	uint32_t ll, mm, nn, oo;
 	uint64_t bbbig; /* (:) */
 
-	if (id_supplied)
-	{
-#if __BYTE_ORDER == __BIG_ENDIAN
-		swab(id_supplied, val, sizeof(val));
-#else
-		memcpy(val, id_supplied, sizeof(val));
-#endif
-	}
-	else
-	{
-		/* open the file, read in all the info and close it */
-		if (devname == NULL)
-			fl = stdin;
-		else {
-			id_file = bb_xasprintf("/proc/ide/%s/identify", devname);
-			fl = bb_xfopen(id_file, "r");
-		}
-		/* calculate checksum over all bytes */
-		for(ii = GEN_CONFIG; ii<=INTEGRITY; ii++)
-		{
-			unsigned int scratch;
-			if(1 != fscanf(fl,"%04x",&scratch))
-				break;
-			val[ii] = (uint16_t)scratch;
-			chksum += val[ii] + (val[ii] >> 8);
-		}
-		bb_fclose_nonstdin(fl);
-		if (ENABLE_FEATURE_CLEAN_UP) free(id_file);
-		if(ii < (INTEGRITY+1))
-			bb_error_msg_and_die("Input file wrong format or length");
-	}
+	if (BB_BIG_ENDIAN) {
+		swab(id_supplied, buf, sizeof(buf));
+		val = buf;
+	} else val = id_supplied;
+
 	chksum &= 0xff;
 
 	/* check if we recognise the device type */




More information about the busybox-cvs mailing list