--- /dev/null
+diff -Nru kismet-2008-05-R1.old/gpsd.cc kismet-2008-05-R1/gpsd.cc
+--- kismet-2008-05-R1.old/gpsd.cc 2009-05-20 00:27:48.612804334 +0300
++++ kismet-2008-05-R1/gpsd.cc 2009-05-20 00:28:21.407929729 +0300
+@@ -481,7 +481,7 @@
+ dir = atan2(tx,ty);
+ }
+
+- if (!finite(dir))
++ if (!isfinite(dir))
+ dir = 0.0;
+ if (ty < 0)
+ dir = M_PI + dir;
+diff -Nru kismet-2008-05-R1.old/panelfront_display.cc kismet-2008-05-R1/panelfront_display.cc
+--- kismet-2008-05-R1.old/panelfront_display.cc 2008-03-16 19:59:00.000000000 +0200
++++ kismet-2008-05-R1/panelfront_display.cc 2009-05-20 00:28:11.074804546 +0300
+@@ -1562,7 +1562,7 @@
+ details_network->virtnet->max_lat,
+ details_network->virtnet->max_lon);
+
+- if (finite(diagdist)) {
++ if (isfinite(diagdist)) {
+ if (metric) {
+ if (diagdist < 1000)
+ snprintf(output, print_width, "Range : %.3f meters", diagdist);
+@@ -1575,7 +1575,7 @@
+ else
+ snprintf(output, print_width, "Range : %.3f miles", diagdist / 5280);
+ }
+- kwin->text.push_back(output);
++ kwin->text.push_back(output);
+ }
+ }
+ }
+@@ -1937,7 +1937,7 @@
+ double diagdist = GPSD::EarthDistance(dnet->min_lat, dnet->min_lon,
+ dnet->max_lat, dnet->max_lon);
+
+- if (finite(diagdist)) {
++ if (isfinite(diagdist)) {
+ if (metric) {
+ if (diagdist < 1000)
+ snprintf(output, print_width, "Range : %f meters", diagdist);
+@@ -1950,7 +1950,7 @@
+ else
+ snprintf(output, print_width, "Range : %f miles", diagdist / 5280);
+ }
+- kwin->text.push_back(output);
++ kwin->text.push_back(output);
+ }
+ }
+ }
+@@ -3141,7 +3141,7 @@
+ details_client->max_lat,
+ details_client->max_lon);
+
+- if (finite(diagdist)) {
++ if (isfinite(diagdist)) {
+ if (metric) {
+ if (diagdist < 1000)
+ snprintf(output, print_width, "Range : %f meters", diagdist);