diff -Nuar --exclude '*~' hddtemp-0.3-beta15.orig/src/sata.c hddtemp-0.3-beta15/src/sata.c --- hddtemp-0.3-beta15.orig/src/sata.c 2006-05-14 02:09:55.579437498 -0700 +++ hddtemp-0.3-beta15/src/sata.c 2006-05-14 02:06:08.495948437 -0700 @@ -88,7 +88,9 @@ return strdup(_("unknown")); else { + //fprintf(stderr,"sata_model1=%s\n",identify + 54); sata_fixstring(identify + 54, 24); + //fprintf(stderr,"sata_model2=%s\n",identify + 54); return strdup(identify + 54); } } diff -Nuar --exclude '*~' hddtemp-0.3-beta15.orig/src/satacmds.c hddtemp-0.3-beta15/src/satacmds.c --- hddtemp-0.3-beta15.orig/src/satacmds.c 2006-05-14 02:09:40.983470339 -0700 +++ hddtemp-0.3-beta15/src/satacmds.c 2006-05-14 02:09:02.319557333 -0700 @@ -98,7 +98,10 @@ /* convert from big-endian to host byte order */ for (p = end ; p != s;) { unsigned short *pp = (unsigned short *) (p -= 2); - *pp = ntohs(*pp); + char tmp = p[0]; + p[0] = p[1]; + p[1] = tmp; + //*pp = ntohs(*pp); } /* strip leading blanks */