diff options
Diffstat (limited to 'palm/gnome-pilot/files/patch-gpilotd__gpilotd.c')
-rw-r--r-- | palm/gnome-pilot/files/patch-gpilotd__gpilotd.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/palm/gnome-pilot/files/patch-gpilotd__gpilotd.c b/palm/gnome-pilot/files/patch-gpilotd__gpilotd.c new file mode 100644 index 000000000..494a81f52 --- /dev/null +++ b/palm/gnome-pilot/files/patch-gpilotd__gpilotd.c @@ -0,0 +1,78 @@ +--- gpilotd/gpilotd.c.orig Tue Sep 5 03:16:41 2006 ++++ gpilotd/gpilotd.c Wed Sep 6 17:04:43 2006 +@@ -27,6 +27,8 @@ + #include "config.h" + #endif + ++#define freebsd ++ + /* for crypt () */ + #ifdef USE_XOPEN_SOURCE + #ifndef _XOPEN_SOURCE +@@ -1386,6 +1388,49 @@ visor_devices_timeout (gpointer data) + } + + #endif /* WITH_USB_VISOR */ ++#ifdef freebsd ++static gboolean ++visor_devices_timeout (gpointer data) ++{ ++ GPilotContext *context = data; ++ GPilotDevice *device; ++ GList *l; ++ int i; ++ gboolean visor_exists = FALSE, visor_net = TRUE; ++ ++ g_assert (context != NULL); ++ ++ if (context->paused) ++ return FALSE; ++ ++ l = context->devices; ++ while (l) { ++ struct stat dummy; ++ ++ device = l->data; ++ ++ /* Make sure usb device exists */ ++ if (stat(device->port, &dummy) == 0) { ++ if (device->type == PILOT_DEVICE_USB_VISOR) { ++ if (!visor_net) ++ device->type = PILOT_DEVICE_SERIAL; ++ ++ /* just try to synch. Until I can talk to ++ * the kernel guys this is the best way to ++ * go. */ ++ sync_device (device, context); ++ if (!visor_net) ++ device->type = PILOT_DEVICE_USB_VISOR; ++ } ++ } ++ l = l->next; ++ ++ } ++ ++ return TRUE; ++} ++ ++#endif /* freebsd */ + #endif /* linux */ + + +@@ -1423,16 +1468,12 @@ monitor_channel (GPilotDevice *dev, GPil + dev->device_exists = FALSE; + } else { + #ifdef WITH_USB_VISOR +-#ifdef linux + /* We want to watch for a new recognised USB device + * once per context. */ + if (visor_timeout_id == -1) { + visor_timeout_id = g_timeout_add (2000, + visor_devices_timeout, context); + } +-#else /* linux */ +- g_assert_not_reached (); +-#endif /* linux */ + #endif /* WITH_USB_VISOR */ + } + } |