diff -Naur lshw-B.02.12.01-old/src/core/blockio.cc lshw-B.02.12.01/src/core/blockio.cc
--- lshw-B.02.12.01-old/src/core/blockio.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/blockio.cc	2008-05-01 14:35:02.000000000 -0600
@@ -7,6 +7,8 @@
 #define _LARGEFILE_SOURCE
 #define _FILE_OFFSET_BITS 64
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "blockio.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/cdrom.cc lshw-B.02.12.01/src/core/cdrom.cc
--- lshw-B.02.12.01-old/src/core/cdrom.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/cdrom.cc	2008-05-01 14:15:33.000000000 -0600
@@ -15,6 +15,7 @@
  *
  */
 
+#include <limits.h>
 #include "version.h"
 #include "cdrom.h"
 #include "partitions.h"
diff -Naur lshw-B.02.12.01-old/src/core/cpuid.cc lshw-B.02.12.01/src/core/cpuid.cc
--- lshw-B.02.12.01-old/src/core/cpuid.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/cpuid.cc	2008-05-01 14:11:32.000000000 -0600
@@ -1,3 +1,5 @@
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "cpuid.h"
 #include <stdio.h>
diff -Naur lshw-B.02.12.01-old/src/core/cpuinfo.cc lshw-B.02.12.01/src/core/cpuinfo.cc
--- lshw-B.02.12.01-old/src/core/cpuinfo.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/cpuinfo.cc	2008-05-01 14:06:49.000000000 -0600
@@ -1,3 +1,4 @@
+#include <cstdlib>
 #include "version.h"
 #include "cpuinfo.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/device-tree.cc lshw-B.02.12.01/src/core/device-tree.cc
--- lshw-B.02.12.01-old/src/core/device-tree.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/device-tree.cc	2008-05-01 14:05:05.000000000 -0600
@@ -9,6 +9,8 @@
  *
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "device-tree.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/fb.cc lshw-B.02.12.01/src/core/fb.cc
--- lshw-B.02.12.01-old/src/core/fb.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/fb.cc	2008-05-01 14:23:24.000000000 -0600
@@ -4,6 +4,8 @@
  *
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "fb.h"
 #include <sys/types.h>
diff -Naur lshw-B.02.12.01-old/src/core/hw.cc lshw-B.02.12.01/src/core/hw.cc
--- lshw-B.02.12.01-old/src/core/hw.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/hw.cc	2008-05-01 13:59:33.000000000 -0600
@@ -7,10 +7,12 @@
 #include <vector>
 #include <map>
 #include <sstream>
-#include <unistd.h>
+#include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <ctype.h>
 #include <unistd.h>
+#include <limits.h>
 #include <sys/utsname.h>
 
 using namespace hw;
diff -Naur lshw-B.02.12.01-old/src/core/ide.cc lshw-B.02.12.01/src/core/ide.cc
--- lshw-B.02.12.01-old/src/core/ide.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/ide.cc	2008-05-01 14:13:01.000000000 -0600
@@ -10,6 +10,8 @@
  *  by calling scan_disk() and scan_cdrom(), as appropriate.
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "cpuinfo.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/ideraid.cc lshw-B.02.12.01/src/core/ideraid.cc
--- lshw-B.02.12.01-old/src/core/ideraid.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/ideraid.cc	2008-05-01 14:44:23.000000000 -0600
@@ -3,6 +3,8 @@
  *
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "cpuinfo.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/lvm.cc lshw-B.02.12.01/src/core/lvm.cc
--- lshw-B.02.12.01-old/src/core/lvm.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/lvm.cc	2008-05-01 14:40:42.000000000 -0600
@@ -9,6 +9,8 @@
  *
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "lvm.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/mounts.cc lshw-B.02.12.01/src/core/mounts.cc
--- lshw-B.02.12.01-old/src/core/mounts.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/mounts.cc	2008-05-01 14:54:07.000000000 -0600
@@ -4,6 +4,8 @@
  *
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "mounts.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/osutils.cc lshw-B.02.12.01/src/core/osutils.cc
--- lshw-B.02.12.01-old/src/core/osutils.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/osutils.cc	2008-05-01 14:08:08.000000000 -0600
@@ -1,3 +1,4 @@
+#include <cstring>
 #include "version.h"
 #include "osutils.h"
 #include <sstream>
diff -Naur lshw-B.02.12.01-old/src/core/parisc.cc lshw-B.02.12.01/src/core/parisc.cc
--- lshw-B.02.12.01-old/src/core/parisc.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/parisc.cc	2008-05-01 14:28:11.000000000 -0600
@@ -9,6 +9,7 @@
  *
  */
 
+#include <cstdlib>
 #include "version.h"
 #include "device-tree.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/partitions.cc lshw-B.02.12.01/src/core/partitions.cc
--- lshw-B.02.12.01-old/src/core/partitions.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/partitions.cc	2008-05-01 14:33:22.000000000 -0600
@@ -14,6 +14,8 @@
 #define _LARGEFILE_SOURCE
 #define _FILE_OFFSET_BITS 64
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "partitions.h"
 #include "blockio.h"
diff -Naur lshw-B.02.12.01-old/src/core/pci.cc lshw-B.02.12.01/src/core/pci.cc
--- lshw-B.02.12.01-old/src/core/pci.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/pci.cc	2008-05-01 14:09:46.000000000 -0600
@@ -1,3 +1,5 @@
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "pci.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/pcmcia.cc lshw-B.02.12.01/src/core/pcmcia.cc
--- lshw-B.02.12.01-old/src/core/pcmcia.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/pcmcia.cc	2008-05-01 14:45:40.000000000 -0600
@@ -1,3 +1,4 @@
+#include <cstdlib>
 #include "version.h"
 #include "pcmcia.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/pcmcia-legacy.cc lshw-B.02.12.01/src/core/pcmcia-legacy.cc
--- lshw-B.02.12.01-old/src/core/pcmcia-legacy.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/pcmcia-legacy.cc	2008-05-01 14:17:18.000000000 -0600
@@ -1,3 +1,5 @@
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "pcmcia-legacy.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/pnp.cc lshw-B.02.12.01/src/core/pnp.cc
--- lshw-B.02.12.01-old/src/core/pnp.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/pnp.cc	2008-05-01 14:21:45.000000000 -0600
@@ -6,6 +6,7 @@
  *
  *
  */
+#include <cstdlib>
 #include "version.h"
 #include "pnp.h"
 
diff -Naur lshw-B.02.12.01-old/src/core/print.cc lshw-B.02.12.01/src/core/print.cc
--- lshw-B.02.12.01-old/src/core/print.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/print.cc	2008-05-01 14:02:00.000000000 -0600
@@ -7,6 +7,8 @@
  *
  */
 
+#include <cstdlib>
+#include <cstring>
 #include "print.h"
 #include "options.h"
 #include "version.h"
diff -Naur lshw-B.02.12.01-old/src/core/scsi.cc lshw-B.02.12.01/src/core/scsi.cc
--- lshw-B.02.12.01-old/src/core/scsi.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/scsi.cc	2008-05-01 14:18:40.000000000 -0600
@@ -1,3 +1,5 @@
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "mem.h"
 #include "cdrom.h"
diff -Naur lshw-B.02.12.01-old/src/core/smp.cc lshw-B.02.12.01/src/core/smp.cc
--- lshw-B.02.12.01-old/src/core/smp.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/smp.cc	2008-05-01 14:56:39.000000000 -0600
@@ -4,6 +4,7 @@
  *
  */
 
+#include <cstring>
 #include "version.h"
 #include "smp.h"
 #include <sys/types.h>
diff -Naur lshw-B.02.12.01-old/src/core/spd.cc lshw-B.02.12.01/src/core/spd.cc
--- lshw-B.02.12.01-old/src/core/spd.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/spd.cc	2008-05-01 14:20:10.000000000 -0600
@@ -1,3 +1,5 @@
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "spd.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/sysfs.cc lshw-B.02.12.01/src/core/sysfs.cc
--- lshw-B.02.12.01-old/src/core/sysfs.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/sysfs.cc	2008-05-01 14:26:29.000000000 -0600
@@ -4,6 +4,7 @@
  *
  */
 
+#include <cstring>
 #include "version.h"
 #include "sysfs.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/usb.cc lshw-B.02.12.01/src/core/usb.cc
--- lshw-B.02.12.01-old/src/core/usb.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/usb.cc	2008-05-01 14:24:55.000000000 -0600
@@ -7,6 +7,8 @@
 #define _GNU_SOURCE
 #endif
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "usb.h"
 #include "osutils.h"
diff -Naur lshw-B.02.12.01-old/src/core/volumes.cc lshw-B.02.12.01/src/core/volumes.cc
--- lshw-B.02.12.01-old/src/core/volumes.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/core/volumes.cc	2008-05-01 14:50:09.000000000 -0600
@@ -6,6 +6,8 @@
 #define _LARGEFILE_SOURCE
 #define _FILE_OFFSET_BITS 64
 
+#include <cstdlib>
+#include <cstring>
 #include "version.h"
 #include "volumes.h"
 #include "blockio.h"
diff -Naur lshw-B.02.12.01-old/src/lshw.cc lshw-B.02.12.01/src/lshw.cc
--- lshw-B.02.12.01-old/src/lshw.cc	2008-05-01 13:22:58.000000000 -0600
+++ lshw-B.02.12.01/src/lshw.cc	2008-05-01 14:58:24.000000000 -0600
@@ -1,3 +1,5 @@
+#include <cstdlib>
+#include <cstring>
 #include "hw.h"
 #include "print.h"
 #include "main.h"