Mercurial > emacs
annotate oldXMenu/FindSel.c @ 57051:59091995520c
(msdos.o): Depend on buffer.h, commands.h, and
blockinput.h.
(dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
charset.h, and coding.h
(w16select.o): Depend on buffer.h, charset.h, coding.h, and
composite.h.
(term.o): Depend on window.h and keymap.h.
(abbrev.o): Depend on syntax.h.
(callint.o): Depend on keymap.h.
(casefiddle.o): Depend on charset.h and keymap.h.
(category.o): Depend on keymap.h.
(coding.o): Depend on dispextern.h.
(cmds.o): Depend on keyboard.h and keymap.h.
(dispnew.o): Depend on indent.h and intervals.h.
(doc.o): Depend on keymap.h.
(editfns.o): Depend on frame.h.
(emacs.o): Depend on dispextern.h.
(fileio.o): Don't depend on ccl.h.
(filelock.o): Depend on charset.h and coding.h.
(frame.o): Depend on w32term.h and macterm.h.
(insdel.o): Depend on region-cache.h.
(keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
(minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
(search.o): Depend on $(INTERVALS_SRC).
(syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
(window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
xterm.h, w32term.h, and macterm.h.
(xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
w32term.h, and macterm.h.
(xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
region-cache.h, xterm.h, w32term.h, and macterm.h.
(bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
(data.o): Depend on frame.h.
(fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
(print.o): Depend on termchar.h and $(INTERVALS_SRC).
(lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
(intervals.o): Depend on keymap.h.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 10 Sep 2004 18:16:57 +0000 |
parents | e8824c4f5f7e |
children | 3861ff8f4bf1 8e5779acd195 |
rev | line source |
---|---|
25858 | 1 #include "copyright.h" |
2 | |
3 /* Copyright Massachusetts Institute of Technology 1985 */ | |
4 | |
5 /* | |
6 * XMenu: MIT Project Athena, X Window system menu package | |
7 * | |
8 * XMenuFindSelection - Find the first selection in a pane who's | |
9 * label matches a particular string. | |
10 * | |
11 * Author: Tony Della Fera, DEC | |
12 * January 22, 1986 | |
13 * | |
14 */ | |
15 | |
16 #include "XMenuInt.h" | |
17 | |
18 int | |
19 XMenuFindSelection(menu, p_num, label) | |
20 register XMenu *menu; | |
21 int p_num; | |
22 register char *label; | |
23 { | |
24 register XMPane *p_ptr; | |
25 register XMSelect *s_ptr; | |
26 register int i = 0; | |
27 | |
28 /* | |
29 * Check for NULL pointers! | |
30 */ | |
31 if (label == NULL) { | |
32 _XMErrorCode = XME_ARG_BOUNDS; | |
33 return(XM_FAILURE); | |
34 } | |
35 | |
36 /* | |
37 * Find the right pane. | |
38 */ | |
39 p_ptr = _XMGetPanePtr(menu, p_num); | |
40 if (p_ptr == NULL) return(XM_FAILURE); | |
41 | |
42 /* | |
43 * Find the right selection. | |
44 */ | |
45 for ( | |
46 s_ptr = p_ptr->s_list->next; | |
47 s_ptr != p_ptr->s_list; | |
48 s_ptr = s_ptr->next | |
49 ){ | |
50 if (s_ptr->label_length == 0) { | |
51 if (*label == '\0') { | |
52 _XMErrorCode = XME_NO_ERROR; | |
53 return (i); | |
54 } | |
55 } | |
56 else { | |
57 if (strncmp (label, s_ptr->label, s_ptr->label_length) == 0) { | |
58 _XMErrorCode = XME_NO_ERROR; | |
59 return (i); | |
60 } | |
61 } | |
62 i++; | |
63 } | |
64 | |
65 /* | |
66 * If we get here then we have not found | |
67 * a match. | |
68 */ | |
69 _XMErrorCode = XME_S_NOT_FOUND; | |
70 return (XM_FAILURE); | |
71 } | |
52401 | 72 |
73 /* arch-tag: 564a4a95-9ab0-4580-b05f-6970c4b25dd4 | |
74 (do not change this comment) */ |