root/trunk/oldXMenu/FindSel.c

Revision 4220, 1.5 kB (checked in by miyoshi, 9 months ago)

Sync up with Emacs22.2.

  • Property svn:eol-style set to native
Line 
1 #include "copyright.h"
2
3 /* Copyright    Massachusetts Institute of Technology    1985   */
4 /* Copyright (C) 2002, 2003, 2004, 2005,
5                  2006, 2007, 2008 Free Software Foundation, Inc.  */
6
7 /*
8  * XMenu:       MIT Project Athena, X Window system menu package
9  *
10  *      XMenuFindSelection - Find the first selection in a pane who's
11  *                           label matches a particular string.
12  *
13  *      Author:         Tony Della Fera, DEC
14  *                      January 22, 1986
15  *
16  */
17
18 #include "XMenuInt.h"
19
20 int
21 XMenuFindSelection(menu, p_num, label)
22     register XMenu *menu;
23     int p_num;
24     register char *label;
25 {
26     register XMPane *p_ptr;
27     register XMSelect *s_ptr;
28     register int i = 0;
29
30     /*
31      * Check for NULL pointers!
32      */
33     if (label == NULL) {
34         _XMErrorCode = XME_ARG_BOUNDS;
35         return(XM_FAILURE);
36     }
37
38     /*
39      * Find the right pane.
40      */
41     p_ptr = _XMGetPanePtr(menu, p_num);
42     if (p_ptr == NULL) return(XM_FAILURE);
43
44     /*
45      * Find the right selection.
46      */
47     for (
48         s_ptr = p_ptr->s_list->next;
49         s_ptr != p_ptr->s_list;
50         s_ptr = s_ptr->next
51     ){
52         if (s_ptr->label_length == 0) {
53             if (*label == '\0') {
54                 _XMErrorCode = XME_NO_ERROR;
55                 return (i);
56             }
57         }
58         else {
59             if (strncmp (label, s_ptr->label, s_ptr->label_length) == 0) {
60                 _XMErrorCode = XME_NO_ERROR;
61                 return (i);
62             }
63         }
64         i++;
65     }
66
67     /*
68      * If we get here then we have not found
69      * a match.
70      */
71     _XMErrorCode = XME_S_NOT_FOUND;
72     return (XM_FAILURE);
73 }
74
75 /* arch-tag: 564a4a95-9ab0-4580-b05f-6970c4b25dd4
76    (do not change this comment) */
Note: See TracBrowser for help on using the browser.