Remove some unused code pointed out by Tito, plus a slightly more graceful
authorRob Landley <rob@landley.net>
Sat, 29 Apr 2006 19:11:24 +0000 (19:11 -0000)
committerRob Landley <rob@landley.net>
Sat, 29 Apr 2006 19:11:24 +0000 (19:11 -0000)
way of handling endianness.

miscutils/hdparm.c

index 754f532014b23ad6b8f2232cbc8351f88f5b5337..258655689986ece1c81bda58ae82d98a82d7937c 100644 (file)
@@ -632,10 +632,8 @@ static void print_ascii(uint16_t *p, uint8_t length) {
    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 @@ static void identify(uint16_t *id_supplied, const char *devname)
        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 */