+++ /dev/null
----
- configure | 6 ++++
- src/gps.c | 74 +++++++++++++++++++++++++++++++++++++++-------------------
- src/gps.h | 3 --
- src/gpx.c | 31 +++++++++++-------------
- src/gpxview.h | 3 --
- src/html.c | 15 +++++++----
- src/main.c | 5 ---
- src/misc.c | 5 ---
- 8 files changed, 83 insertions(+), 59 deletions(-)
-
---- gpxview-0.9.1.orig/src/main.c
-+++ gpxview-0.9.1/src/main.c
-@@ -2058,7 +2058,6 @@ void cleanup(appdata_t *appdata) {
- if(appdata->tools_menu) submenu_cleanup(appdata->tools_menu);
- #endif
-
-- gnome_vfs_shutdown();
- icons_free();
- gps_release(appdata);
-
-@@ -2398,10 +2397,6 @@ int main(int argc, char *argv[]) {
-
- icons_init();
-
-- if(!gnome_vfs_init()) {
-- g_error("Gnome VFS init failed\n");
-- }
--
- #ifdef USE_MAEMO
- /* Create the hildon program and setup the title */
- appdata.program = HILDON_PROGRAM(hildon_program_get_instance());
---- gpxview-0.9.1.orig/src/misc.c
-+++ gpxview-0.9.1/src/misc.c
-@@ -1036,12 +1036,9 @@ void dist_entry_set(GtkWidget *widget, f
-
- #ifndef USE_MAEMO
- #ifdef ENABLE_BROWSER_INTERFACE
--#include <libgnome/gnome-url.h>
-
- int browser_url(appdata_t *appdata, char *url) {
-- /* taken from gnome-open, part of libgnome */
-- GError *err = NULL;
-- gnome_url_show(url, &err);
-+ printf("GPXView WARNING: browser_url() not implemented\n");
- return 0;
- }
- #endif
---- gpxview-0.9.1.orig/src/gpxview.h
-+++ gpxview-0.9.1/src/gpxview.h
-@@ -79,9 +79,6 @@
- #include <gconf/gconf.h>
- #include <gconf/gconf-client.h>
-
--#include <libgnomevfs/gnome-vfs.h>
--#include <libgnomevfs/gnome-vfs-inet-connection.h>
--
- /* all include appdata_t relies on go here ... */
- #include "gpx.h"
- #include "settings.h"
---- gpxview-0.9.1.orig/src/html.c
-+++ gpxview-0.9.1/src/html.c
-@@ -87,15 +87,19 @@ void release_load_context(GThread *self,
- gpointer loader_thread(gpointer data) {
- GThread *self = g_thread_self();
-
-- GnomeVFSResult result;
-- GnomeVFSHandle *handle;
-- char buffer[4096];
-- GnomeVFSFileSize bytes_read;
-+// GnomeVFSResult result;
-+// GnomeVFSHandle *handle;
-+// char buffer[4096];
-+// GnomeVFSFileSize bytes_read;
-
- load_context_t *context = (load_context_t*)data;
-
- printf("%p: loader thread for %s running\n", self, context->url);
-+ printf("GPXView WARNING: Function not implemented\n");
-+ release_load_context(self, context);
-+ return NULL;
-
-+#if 0
- result = gnome_vfs_open(&handle, context->url, GNOME_VFS_OPEN_READ);
- if(result != GNOME_VFS_OK) {
- g_print("%p: open error: %s\n", self, gnome_vfs_result_to_string(result));
-@@ -143,6 +147,7 @@ gpointer loader_thread(gpointer data) {
- printf("%p: loader thread successfully finished\n", self);
- release_load_context(self, context);
- return NULL;
-+#endif
- }
-
- #ifdef ENABLE_BROWSER_INTERFACE
-@@ -175,7 +180,7 @@ static void on_link_clicked(GtkHTML *htm
- static void on_request_url(GtkHTML *html, const gchar *url,
- GtkHTMLStream *stream, gpointer data) {
- char buffer[4096];
-- GnomeVFSFileSize bytes_read;
-+ ssize_t bytes_read;
-
- http_context_t *context = (http_context_t*)data;
-
---- gpxview-0.9.1.orig/src/gpx.c
-+++ gpxview-0.9.1/src/gpx.c
-@@ -21,6 +21,8 @@
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
-+#include <dirent.h>
-+#include <errno.h>
-
- #include <libxml/parser.h>
- #include <libxml/tree.h>
-@@ -1262,10 +1264,8 @@ gpx_t *gpx_parse(gpx_dialog_t *dialog, c
-
- /* scan entire directory */
- gpx_t *gpx_parse_dir(gpx_dialog_t *dialog, char *dirname, char *username) {
-- GnomeVFSResult result;
-- GnomeVFSDirectoryHandle *handle;
-- GnomeVFSFileInfo *finfo = gnome_vfs_file_info_new();;
--
-+ DIR *dir;
-+ struct dirent dirent_buf, *dirent;
- gpx_t *gpx = NULL;
-
- /* show busy dialog */
-@@ -1274,27 +1274,27 @@ gpx_t *gpx_parse_dir(gpx_dialog_t *dialo
-
- LIBXML_TEST_VERSION;
-
-- result = gnome_vfs_directory_open(&handle, dirname,
-- GNOME_VFS_FILE_INFO_DEFAULT);
--
-- if(result != GNOME_VFS_OK) {
-+ dir = opendir(dirname);
-+ if (!dir) {
- errorf("Unable to open directory \"%s\":\n%s",
-- dirname, gnome_vfs_result_to_string(result));
-+ dirname, strerror(errno));
- return NULL;
- }
-
-- while(GNOME_VFS_OK == gnome_vfs_directory_read_next(handle, finfo)) {
-- if(finfo->type == GNOME_VFS_FILE_TYPE_REGULAR) {
-- char *ext = finfo->name+strlen(finfo->name)-4;
-+ while (readdir_r(dir, &dirent_buf, &dirent) == 0) {
-+ if (dirent->d_type == DT_REG) {
-+ if (strlen(dirent->d_name) <= 4)
-+ continue;
-+ char *ext = dirent->d_name+strlen(dirent->d_name)-4;
-
- /* check if file ends with .gpx or .loc */
- if((strcasecmp(ext, ".gpx") == 0) || (strcasecmp(ext, ".loc") == 0)) {
-- char *filename = malloc(strlen(dirname)+strlen(finfo->name)+2);
-+ char *filename = malloc(strlen(dirname)+strlen(dirent->d_name)+2);
-
- strcpy(filename, dirname);
- if(strlastchr(filename) != '/')
- strcat(filename, "/");
-- strcat(filename, finfo->name);
-+ strcat(filename, dirent->d_name);
-
- xmlTextReaderPtr reader = xmlReaderForFile(filename, NULL, 0);
- if (reader != NULL) {
-@@ -1328,8 +1328,7 @@ gpx_t *gpx_parse_dir(gpx_dialog_t *dialo
- gpx->name = strdup(n);
- }
-
-- gnome_vfs_file_info_unref(finfo);
-- gnome_vfs_directory_close(handle);
-+ closedir(dir);
-
- return gpx;
- }
---- gpxview-0.9.1.orig/src/gps.c
-+++ gpxview-0.9.1/src/gps.c
-@@ -20,6 +20,11 @@
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
-+#include <netinet/in.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <netdb.h>
-+#include <sys/socket.h>
-
- #include "gpxview.h"
-
-@@ -112,7 +117,11 @@ float gps_get_eph(appdata_t *appdata) {
- }
-
- static int gps_connect(gps_state_t *gps_state) {
-- GnomeVFSResult vfs_result;
-+ struct hostent hbuf, *h;
-+ struct sockaddr_in addr;
-+ struct timeval timeout;
-+ char buffer[2048];
-+ int err;
- #ifdef USE_MAEMO
- char errstr[256] = "";
-
-@@ -138,10 +147,8 @@ static int gps_connect(gps_state_t *gps_
- /* Create a socket to interact with GPSD. */
-
- int retries = 5;
-- while(retries &&
-- (GNOME_VFS_OK != (vfs_result = gnome_vfs_inet_connection_create(
-- &gps_state->iconn, GPSD_HOST, GPSD_PORT, NULL)))) {
-- printf("gps: Error creating connection to GPSD, retrying ...\n");
-+ while(retries && ((gps_state->socket = socket(AF_INET, SOCK_STREAM, 0)) < 0)) {
-+ printf("gps: Error creating GPSD socket, retrying ...\n");
-
- retries--;
- sleep(1);
-@@ -153,9 +160,8 @@ static int gps_connect(gps_state_t *gps_
- }
-
- retries = 5;
-- while(retries && ((gps_state->socket =
-- gnome_vfs_inet_connection_to_socket(gps_state->iconn)) == NULL)) {
-- printf("gps: Error creating connecting GPSD socket, retrying ...\n");
-+ while(retries && gethostbyname_r(GPSD_HOST, &hbuf, buffer, sizeof(buffer), &h, &err)) {
-+ printf("gps: Error resolving GPSD hostname, retrying ...\n");
-
- retries--;
- sleep(1);
-@@ -166,10 +172,34 @@ static int gps_connect(gps_state_t *gps_
- return -1;
- }
-
-- GTimeVal timeout = { 10, 0 };
-- if(GNOME_VFS_OK != (vfs_result = gnome_vfs_socket_set_timeout(
-- gps_state->socket, &timeout, NULL))) {
-- printf("gps: Error setting GPSD timeout\n");
-+ memset(&addr, 0, sizeof(addr));
-+ addr.sin_family = AF_INET;
-+ memcpy(&addr.sin_addr.s_addr, h->h_addr, h->h_length);
-+ addr.sin_port = htons(GPSD_PORT);
-+
-+ retries = 5;
-+ while(retries && (connect(gps_state->socket, (struct sockaddr *)&addr, sizeof(addr)) < 0)) {
-+ printf("gps: Error connecting to GPSD, retrying ...\n");
-+
-+ retries--;
-+ sleep(1);
-+ }
-+
-+ if(!retries) {
-+ printf("gps: Finally failed ...\n");
-+ return -1;
-+ }
-+
-+ timeout.tv_sec = 10;
-+ timeout.tv_usec = 0;
-+ if(setsockopt(gps_state->socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout)) < 0) {
-+ printf("gps: Error setting GPSD send timeout\n");
-+ return -1;
-+ }
-+ timeout.tv_sec = 10;
-+ timeout.tv_usec = 0;
-+ if(setsockopt(gps_state->socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)) < 0) {
-+ printf("gps: Error setting GPSD receive timeout\n");
- return -1;
- }
-
-@@ -358,8 +388,7 @@ static gboolean gps_idle_cb(gpointer dat
- }
-
- gpointer gps_thread(gpointer data) {
-- GnomeVFSFileSize bytes_read;
-- GnomeVFSResult vfs_result;
-+ ssize_t bytes;
- char str[512];
- appdata_t *appdata = (appdata_t*)data;
- int cnt=1000;
-@@ -384,21 +413,18 @@ gpointer gps_thread(gpointer data) {
- const char *msg;
- if(!cnt) msg = msg_sat;
- else msg = msg_pos;
--
-- if(GNOME_VFS_OK ==
-- (vfs_result = gnome_vfs_socket_write(appdata->gps_state->socket,
-- msg, strlen(msg)+1, &bytes_read, NULL))) {
-+
-+ if ((bytes = write(appdata->gps_state->socket, msg, strlen(msg)+1)) > 0) {
-
- /* update every second, wait here to make sure a complete */
- /* reply is received */
- if(cnt <= 1) usleep(500000);
- else sleep(1);
-
-- if(bytes_read == (strlen(msg)+1)) {
-- vfs_result = gnome_vfs_socket_read(appdata->gps_state->socket,
-- str, sizeof(str)-1, &bytes_read, NULL);
-- if(vfs_result == GNOME_VFS_OK) {
-- str[bytes_read] = 0;
-+ if(bytes == (strlen(msg)+1)) {
-+ bytes = read(appdata->gps_state->socket, str, sizeof(str)-1);
-+ if (bytes > 0) {
-+ str[bytes] = 0;
-
- // printf("gps: msg: %s (%d)\n", str, strlen(str));
-
-@@ -419,7 +445,7 @@ gpointer gps_thread(gpointer data) {
- } else {
- if(connected) {
- printf("gps: stopping GPS connection due to user request\n");
-- gnome_vfs_inet_connection_destroy(appdata->gps_state->iconn, NULL);
-+ close(appdata->gps_state->socket);
-
- #ifdef USE_MAEMO
- gpsbt_stop(&appdata->gps_state->context);
---- gpxview-0.9.1.orig/src/gps.h
-+++ gpxview-0.9.1/src/gps.h
-@@ -111,8 +111,7 @@ typedef struct gps_state {
-
- GThread* thread_p;
- GMutex *mutex;
-- GnomeVFSInetConnection *iconn;
-- GnomeVFSSocket *socket;
-+ int socket;
-
- struct gps_data_t gpsdata;
- #else
---- gpxview-0.9.1.orig/configure
-+++ gpxview-0.9.1/configure
-@@ -3156,6 +3156,9 @@ fi
-
-
-
-+pkg_failed=no
-+pkg_cv_gnome_vfs_module_CFLAGS=
-+pkg_cv_gnome_vfs_module_LIBS=
- if test $pkg_failed = yes; then
-
- if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-@@ -4699,6 +4702,9 @@ fi
-
-
-
-+pkg_failed=no
-+pkg_cv_gnome2_CFLAGS=
-+pkg_cv_gnome2_LIBS=
- if test $pkg_failed = yes; then
-
- if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then