Don't macro-inline non-performance-critical code.
[emacs.git] / oldXMenu / FindPane.c
blob8101d009a2fb8b83e7ef9216a9ba56d7060ab7c7
1 /* Copyright Massachusetts Institute of Technology 1985 */
3 #include "copyright.h"
6 /*
7 * XMenu: MIT Project Athena, X Window system menu package
9 * XMenuFindPane - Find the first menu pane who's label matches a
10 * particular string.
12 * Author: Tony Della Fera, DEC
13 * January 22, 1986
17 #include "XMenuInt.h"
18 #include <string.h>
20 int
21 XMenuFindPane(register XMenu *menu, register char *label)
23 register XMPane *p_ptr;
24 register int i = 0;
27 * Check for NULL pointers!
29 if (label == NULL) {
30 _XMErrorCode = XME_ARG_BOUNDS;
31 return(XM_FAILURE);
35 * Find the pane who's label matches the given label.
37 for (
38 p_ptr = menu->p_list->next;
39 p_ptr != menu->p_list;
40 p_ptr = p_ptr->next
42 if (p_ptr->label_length == 0) {
43 if (*label == '\0') {
44 _XMErrorCode = XME_NO_ERROR;
45 return (i);
48 else {
49 if (strncmp (label, p_ptr->label, p_ptr->label_length) == 0) {
50 _XMErrorCode = XME_NO_ERROR;
51 return (i);
54 i++;
58 * If we get here then we have not found
59 * a match.
61 _XMErrorCode = XME_P_NOT_FOUND;
62 return (XM_FAILURE);