emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/oldXMenu/FindSel.c [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/oldXMenu/FindSel.c [lexbind]
Date: Tue, 14 Oct 2003 18:56:42 -0400

Index: emacs/oldXMenu/FindSel.c
diff -c /dev/null emacs/oldXMenu/FindSel.c:1.1.18.1
*** /dev/null   Tue Oct 14 18:56:42 2003
--- emacs/oldXMenu/FindSel.c    Tue Oct 14 18:56:27 2003
***************
*** 0 ****
--- 1,75 ----
+ #include "copyright.h"
+ 
+ /* $Header: /cvsroot/emacs/emacs/oldXMenu/FindSel.c,v 1.1.18.1 2003/10/14 
22:56:27 miles Exp $ */
+ /* Copyright    Massachusetts Institute of Technology    1985 */
+ 
+ /*
+  * XMenu:     MIT Project Athena, X Window system menu package
+  *
+  *    XMenuFindSelection - Find the first selection in a pane who's
+  *                         label matches a particular string.
+  *
+  *    Author:         Tony Della Fera, DEC
+  *                    January 22, 1986
+  *
+  */
+ 
+ #include "XMenuInt.h"
+ 
+ int
+ XMenuFindSelection(menu, p_num, label)
+     register XMenu *menu;
+     int p_num;
+     register char *label;
+ {
+     register XMPane *p_ptr;
+     register XMSelect *s_ptr;
+     register int i = 0;
+ 
+     /*
+      * Check for NULL pointers!
+      */
+     if (label == NULL) {
+       _XMErrorCode = XME_ARG_BOUNDS;
+       return(XM_FAILURE);
+     }
+ 
+     /*
+      * Find the right pane.
+      */
+     p_ptr = _XMGetPanePtr(menu, p_num);
+     if (p_ptr == NULL) return(XM_FAILURE);
+ 
+     /*
+      * Find the right selection.
+      */
+     for (
+       s_ptr = p_ptr->s_list->next;
+       s_ptr != p_ptr->s_list;
+       s_ptr = s_ptr->next
+     ){
+       if (s_ptr->label_length == 0) {
+           if (*label == '\0') {
+               _XMErrorCode = XME_NO_ERROR;
+               return (i);
+           }
+       }
+       else {
+           if (strncmp (label, s_ptr->label, s_ptr->label_length) == 0) {
+               _XMErrorCode = XME_NO_ERROR;
+               return (i);
+           }
+       }
+       i++;
+     }
+ 
+     /*
+      * If we get here then we have not found
+      * a match.
+      */
+     _XMErrorCode = XME_S_NOT_FOUND;
+     return (XM_FAILURE);
+ }
+ 
+ /* arch-tag: 564a4a95-9ab0-4580-b05f-6970c4b25dd4
+    (do not change this comment) */




reply via email to

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