+ g_debug(_("using cmdline '%s' and file '%s'\n"), *babelargs, *input_file);
+}
+
+
+static void datasource_gps_off ( gpointer user_data, gchar **babelargs, gchar **input_file )
+{
+ char *proto = NULL;
+ char *ser = NULL;
+ char *device = NULL;
+#ifndef USE_NEW_COMBO_BOX
+ GtkTreeIter iter;
+#endif
+ gps_user_data_t *w = (gps_user_data_t *)user_data;
+
+ if (gps_acquire_in_progress) {
+ *babelargs = *input_file = NULL;
+ }
+
+ /* See if we should turn off the device */
+ if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->off_request_b))) {
+ return;
+ }
+
+#ifdef USE_NEW_COMBO_BOX
+ proto = gtk_combo_box_get_active_text(GTK_COMBO_BOX(w->proto_b));
+#else
+ proto = gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w->proto_b),&iter);
+#endif
+ if (!strcmp(proto, "Garmin")) {
+ device = "garmin,power_off";
+ } else {
+ return;
+ }
+
+ *babelargs = g_strdup_printf("-i %s", device);
+ /* device points to static content => no free */
+ device = NULL;
+
+ /* Old stuff */
+#ifdef USE_NEW_COMBO_BOX
+ ser = gtk_combo_box_get_active_text(GTK_COMBO_BOX(w->ser_b));
+#else
+ ser = gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w->ser_b),&iter);
+#endif
+ *input_file = g_strdup(ser);