Mercurial > emacs
view oldXMenu/FindPane.c @ 71833:1b88c4bbacbc
(Flength, Felt, Ffillarray): Remove loop around wrong_type_argument.
(Fcopy_sequence, concat): Cleanup wrong_type_argument use.
(concat): Use CHECK_NUMBER.
(Felt): Use CHECK_ARRAY.
(Fsubstring, substring_both): Use CHECK_VECTOR_OR_STRING.
(Fmemq): Use CHECK_LIST.
(Fassq, Fassoc, Frassq, Frassoc): Use CAR.
(assq_no_quit): Use CAR_SAFE.
(Fnthcdr, Fmember, Fdelq, Fdelete, Fnreverse, Fnconc):
Use CHECK_LIST_CONS.
(Freverse, Fplist_get, Flax_plist_get): Use CHECK_LIST_END.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Wed, 12 Jul 2006 13:17:13 +0000 |
parents | e8a3fb527b77 |
children | ce127a46b1ca d04d8ccb3c41 c5406394f567 |
line wrap: on
line source
#include "copyright.h" /* Copyright Massachusetts Institute of Technology 1985 */ /* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. */ /* * 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); } /* arch-tag: b6c94285-0d1d-4569-a071-b34b63c67a54 (do not change this comment) */