Mercurial > emacs
annotate oldXMenu/FindSel.c @ 109787:f4d4062dc611
Fix ChangeLog entry in last commit.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 14 Aug 2010 19:32:25 -0400 |
parents | 5cc91198ffb2 |
children | 417b1e4d63cd |
rev | line source |
---|---|
100952 | 1 /* Copyright Massachusetts Institute of Technology 1985 */ |
2 | |
25858 | 3 #include "copyright.h" |
4 | |
100952 | 5 /* |
6 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | |
106815 | 7 2009, 2010 Free Software Foundation, Inc. |
100952 | 8 |
9 This program is free software: you can redistribute it and/or modify | |
10 it under the terms of the GNU General Public License as published by | |
11 the Free Software Foundation, either version 3 of the License, or | |
12 (at your option) any later version. | |
13 | |
14 This program is distributed in the hope that it will be useful, | |
15 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 GNU General Public License for more details. | |
18 | |
19 You should have received a copy of the GNU General Public License | |
20 along with this program. If not, see <http://www.gnu.org/licenses/>. | |
21 */ | |
25858 | 22 |
23 /* | |
24 * XMenu: MIT Project Athena, X Window system menu package | |
25 * | |
26 * XMenuFindSelection - Find the first selection in a pane who's | |
27 * label matches a particular string. | |
28 * | |
29 * Author: Tony Della Fera, DEC | |
30 * January 22, 1986 | |
31 * | |
32 */ | |
33 | |
34 #include "XMenuInt.h" | |
35 | |
36 int | |
109124
5cc91198ffb2
Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
106815
diff
changeset
|
37 XMenuFindSelection(register XMenu *menu, int p_num, register char *label) |
25858 | 38 { |
39 register XMPane *p_ptr; | |
40 register XMSelect *s_ptr; | |
41 register int i = 0; | |
42 | |
43 /* | |
44 * Check for NULL pointers! | |
45 */ | |
46 if (label == NULL) { | |
47 _XMErrorCode = XME_ARG_BOUNDS; | |
48 return(XM_FAILURE); | |
49 } | |
50 | |
51 /* | |
52 * Find the right pane. | |
53 */ | |
54 p_ptr = _XMGetPanePtr(menu, p_num); | |
55 if (p_ptr == NULL) return(XM_FAILURE); | |
56 | |
57 /* | |
58 * Find the right selection. | |
59 */ | |
60 for ( | |
61 s_ptr = p_ptr->s_list->next; | |
62 s_ptr != p_ptr->s_list; | |
63 s_ptr = s_ptr->next | |
64 ){ | |
65 if (s_ptr->label_length == 0) { | |
66 if (*label == '\0') { | |
67 _XMErrorCode = XME_NO_ERROR; | |
68 return (i); | |
69 } | |
70 } | |
71 else { | |
72 if (strncmp (label, s_ptr->label, s_ptr->label_length) == 0) { | |
73 _XMErrorCode = XME_NO_ERROR; | |
74 return (i); | |
75 } | |
76 } | |
77 i++; | |
78 } | |
79 | |
80 /* | |
81 * If we get here then we have not found | |
82 * a match. | |
83 */ | |
84 _XMErrorCode = XME_S_NOT_FOUND; | |
85 return (XM_FAILURE); | |
86 } | |
52401 | 87 |
88 /* arch-tag: 564a4a95-9ab0-4580-b05f-6970c4b25dd4 | |
89 (do not change this comment) */ |