|
|
1.1 ! root 1: #include <X/mit-copyright.h> ! 2: ! 3: /* $Header: XMenuFindPane.c,v 10.5 86/02/12 16:19:13 tony Rel $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1985 */ ! 5: ! 6: /* ! 7: * XMenu: MIT Project Athena, X Window system menu package ! 8: * ! 9: * XMenuFindPane - Find the first menu pane who's label matches a ! 10: * particular string. ! 11: * ! 12: * Author: Tony Della Fera, DEC ! 13: * January 22, 1986 ! 14: * ! 15: */ ! 16: ! 17: #include "XMenuInternal.h" ! 18: ! 19: int ! 20: XMenuFindPane(menu, label) ! 21: register XMenu *menu; ! 22: register char *label; ! 23: { ! 24: register XMPane *p_ptr; ! 25: register int i = 0; ! 26: ! 27: /* ! 28: * Check for NULL pointers! ! 29: */ ! 30: if (label == NULL) { ! 31: _XMErrorCode = XME_ARG_BOUNDS; ! 32: return(XM_FAILURE); ! 33: } ! 34: ! 35: /* ! 36: * Find the pane who's label matches the given label. ! 37: */ ! 38: for ( ! 39: p_ptr = menu->p_list->next; ! 40: p_ptr != menu->p_list; ! 41: p_ptr = p_ptr->next ! 42: ){ ! 43: if (p_ptr->label_length == 0) { ! 44: if (*label == '\0') { ! 45: _XMErrorCode = XME_NO_ERROR; ! 46: return (i); ! 47: } ! 48: } ! 49: else { ! 50: if (strncmp (label, p_ptr->label, p_ptr->label_length) == 0) { ! 51: _XMErrorCode = XME_NO_ERROR; ! 52: return (i); ! 53: } ! 54: } ! 55: i++; ! 56: } ! 57: ! 58: /* ! 59: * If we get here then we have not found ! 60: * a match. ! 61: */ ! 62: _XMErrorCode = XME_P_NOT_FOUND; ! 63: return (XM_FAILURE); ! 64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.