summaryrefslogtreecommitdiff
path: root/oldXMenu/FindPane.c
diff options
context:
space:
mode:
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..59bf3ab29b3
--- /dev/null
+++ b/oldXMenu/FindPane.c
@@ -0,0 +1,64 @@
+#include "copyright.h"
+
+/* $Header: FindPane.c,v 1.2 87/12/20 12:05:03 rws 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);
+}