summaryrefslogtreecommitdiff
path: root/oldXMenu/FindPane.c
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1999-10-03 19:36:13 +0000
committerDave Love <fx@gnu.org>1999-10-03 19:36:13 +0000
commite745ede7473e87b93d71858bc1c8447a1307de28 (patch)
tree59353dca94fcb3a9ce2fd9f79614a3119da7f863 /oldXMenu/FindPane.c
parent0c898dd963a3277b5ec8d59f0a350e3fb50e50c3 (diff)
downloademacs-e745ede7473e87b93d71858bc1c8447a1307de28.tar.gz
#
Diffstat (limited to 'oldXMenu/FindPane.c')
-rw-r--r--oldXMenu/FindPane.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/oldXMenu/FindPane.c b/oldXMenu/FindPane.c
new file mode 100644
index 00000000000..a4bed439076
--- /dev/null
+++ b/oldXMenu/FindPane.c
@@ -0,0 +1,64 @@
+#include "copyright.h"
+
+/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/FindPane.c,v 1.1 1992/04/11 22:10:19 jimb Exp $ */
+/* Copyright Massachusetts Institute of Technology 1985 */
+
+/*
+ * XMenu: MIT Project Athena, X Window system menu package
+ *
+ * XMenuFindPane - Find the first menu pane who's label matches a
+ * particular string.
+ *
+ * Author: Tony Della Fera, DEC
+ * January 22, 1986
+ *
+ */
+
+#include "XMenuInt.h"
+
+int
+XMenuFindPane(menu, label)
+ register XMenu *menu;
+ register char *label;
+{
+ register XMPane *p_ptr;
+ register int i = 0;
+
+ /*
+ * Check for NULL pointers!
+ */
+ if (label == NULL) {
+ _XMErrorCode = XME_ARG_BOUNDS;
+ return(XM_FAILURE);
+ }
+
+ /*
+ * Find the pane who's label matches the given label.
+ */
+ for (
+ p_ptr = menu->p_list->next;
+ p_ptr != menu->p_list;
+ p_ptr = p_ptr->next
+ ){
+ if (p_ptr->label_length == 0) {
+ if (*label == '\0') {
+ _XMErrorCode = XME_NO_ERROR;
+ return (i);
+ }
+ }
+ else {
+ if (strncmp (label, p_ptr->label, p_ptr->label_length) == 0) {
+ _XMErrorCode = XME_NO_ERROR;
+ return (i);
+ }
+ }
+ i++;
+ }
+
+ /*
+ * If we get here then we have not found
+ * a match.
+ */
+ _XMErrorCode = XME_P_NOT_FOUND;
+ return (XM_FAILURE);
+}