antiright-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Antiright-devel] antiright/gtkshell callbacks.c


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright/gtkshell callbacks.c
Date: Tue, 24 Apr 2007 22:33:07 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 07/04/24 22:33:07

Modified files:
        gtkshell       : callbacks.c 

Log message:
        Cleaned up callback function blocked tight scoping.  

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/callbacks.c?cvsroot=antiright&r1=1.19&r2=1.20

Patches:
Index: callbacks.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/callbacks.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- callbacks.c 24 Apr 2007 21:54:21 -0000      1.19
+++ callbacks.c 24 Apr 2007 22:33:06 -0000      1.20
@@ -44,66 +44,62 @@
 static void
 gsh_test_exit(struct GSH * gsh)
 {
-
-#ifdef DEBUG
-       ARBUG("gsh_test_exit()");
-#endif                         /* DEBUG */
-
-       if (ARPBOOL(gsh) && ((gsh->bflags & GSH_CBEXIT) == GSH_CBEXIT))
+       if (ARPBOOL(gsh) && GSH_FLAG(GSH_CBEXIT))
                gtk_main_quit();
-
-#ifdef DEBUG
-       ARBUG("==>made it past exit");
-#endif                         /* DEBUG */
 }
 
 void
 gsh_system_cb(GtkWidget *widget, gpointer data)
 {
-       struct GSH_CBData *cb;
-
-       cb = (struct GSH_CBData *) data;
-
 #ifdef DEBUG
        ARBUG("system_cb");
 #endif                         /* DEBUG */
 
        UNUSED(widget);
 
-       ARWIFNP(cb)
+       ARWIFNP(data)
        {
+               struct GSH_CBData *cb = data;
                (void) antiright_system(cb->data);
                gsh_test_exit(cb->gsh);
        }
 }
 
+static void
+exec_and_test_print(struct GSH_CBData * cb, const gchar * input)
+{
+       struct GSH * gsh;
+
+       gsh=cb->gsh;
+
+       if(GSH_FLAG(GSH_PROMPT_ECHOES))
+               g_print("%s\n", input);
+       else
+               sysprintf("%s %s", (char *) cb->data, 
+                        (char *) input);
+}
+
 void
 gsh_entry_cb(GtkWidget *widget, gpointer data)
 {
-       const gchar *input;     /* Must not be freed.  */
        struct GSH_CBData *cb;
 
+       ARPASSERT(widget);
+       ARPASSERT(data);
+
        cb = (struct GSH_CBData *) data;
 
-       ARWIFNP(widget)
        {
                GtkWidget * combo_box;
+               const gchar *input;     /* Must not be freed.  */
+               
                combo_box=gtk_widget_get_ancestor(widget, GTK_TYPE_COMBO_BOX);
                input = gtk_combo_box_get_active_text(
                                GTK_COMBO_BOX(combo_box));
                ARPASSERT(input);
-               ARWIFNP(cb)
-               {
-                       if((cb->gsh->bflags & GSH_PROMPT_ECHOES)
-                           == GSH_PROMPT_ECHOES)
-                               g_print("%s\n", input);
-                       else
-                               sysprintf("%s %s", (char *) cb->data, 
-                                       (char *) input);
-
+               exec_and_test_print(cb, input);
                        gsh_test_exit(cb->gsh);
                        gtk_combo_box_prepend_text(GTK_COMBO_BOX(combo_box),
                                                   (gchar *)input);
                }
-       }
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]