Mercurial > hg > xemacs-beta
annotate src/glade.c @ 5887:6eca500211f4
Prototype for X509_check_host() has changed, detect this in configure.ac
ChangeLog addition:
2015-04-09 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
If X509_check_host() is available, check the number of arguments
it takes. Don't use it if it takes any number of arguments other
than five. Also don't use it if <openssl/x509v3.h> does not
declare it, since if that is so there is no portable way to tell
how many arguments it should take, and so we would end up smashing
the stack.
* configure: Regenerate.
src/ChangeLog addition:
2015-04-09 Aidan Kehoe <kehoea@parhasard.net>
* tls.c:
#include <openssl/x509v3.h> for its prototype for
X509_check_host().
* tls.c (tls_open):
Pass the new fifth argument to X509_check_host().
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Thu, 09 Apr 2015 14:27:02 +0100 |
parents | 2aa9cd456ae7 |
children |
rev | line source |
---|---|
462 | 1 /* glade.c |
2 ** | |
3 ** Description: Interface to `libglade' for XEmacs/GTK | |
4 ** | |
5 ** Created by: William M. Perry <wmperry@gnu.org> | |
6 ** | |
7 ** Copyright (C) 1999 John Harper <john@dcs.warwick.ac.uk> | |
8 ** Copyright (c) 2000 Free Software Foundation | |
9 ** | |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
10 ** This file is part of XEmacs. |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
11 ** |
5405
2aa9cd456ae7
Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
12 ** XEmacs is free software: you can redistribute it and/or modify it |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
13 ** under the terms of the GNU General Public License as published by the |
5405
2aa9cd456ae7
Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
14 ** Free Software Foundation, either version 3 of the License, or (at your |
2aa9cd456ae7
Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
15 ** option) any later version. |
2aa9cd456ae7
Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
16 ** |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
17 ** XEmacs is distributed in the hope that it will be useful, but WITHOUT |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
18 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
19 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
20 ** for more details. |
5405
2aa9cd456ae7
Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
21 ** |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4677
diff
changeset
|
22 ** You should have received a copy of the GNU General Public License |
5405
2aa9cd456ae7
Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
23 ** along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
462 | 24 |
25 #if defined(HAVE_GLADE_H) || defined(HAVE_GLADE_GLADE_H) | |
26 | |
27 /* For COMPILED_FUNCTIONP */ | |
28 #include "bytecode.h" | |
29 | |
30 #ifdef HAVE_GLADE_GLADE_H | |
31 #include <glade/glade.h> | |
32 #endif | |
33 | |
34 #ifdef HAVE_GLADE_H | |
35 #include <glade.h> | |
36 #endif | |
37 | |
38 /* This is based on the code from rep-gtk 0.11 in libglade-support.c */ | |
39 | |
40 static void | |
41 connector (const gchar *handler_name, GtkObject *object, | |
42 const gchar *signal_name, const gchar *signal_data, | |
43 GtkObject *connect_object, gboolean after, gpointer user_data) | |
44 { | |
45 Lisp_Object func; | |
46 Lisp_Object lisp_data = Qnil; | |
47 | |
5013 | 48 func = GET_LISP_FROM_VOID (user_data); |
462 | 49 |
50 if (NILP (func)) | |
51 { | |
52 /* Look for a lisp function called HANDLER_NAME */ | |
53 func = intern (handler_name); | |
54 } | |
55 | |
56 if (signal_data && signal_data[0]) | |
57 { | |
4677
8f1ee2d15784
Support full Common Lisp multiple values in C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
2054
diff
changeset
|
58 lisp_data |
4953
304aebb79cd3
function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents:
4709
diff
changeset
|
59 = IGNORE_MULTIPLE_VALUES (Feval (Fread (build_cistring (signal_data)))); |
462 | 60 } |
61 | |
62 /* obj, name, func, cb_data, object_signal, after_p */ | |
63 Fgtk_signal_connect (build_gtk_object (object), | |
64 intern (signal_name), | |
65 func, | |
66 lisp_data, | |
67 connect_object ? Qt : Qnil, | |
68 after ? Qt : Qnil); | |
69 } | |
70 | |
71 /* This differs from lisp/subr.el (functionp) definition by allowing | |
72 ** symbol names that may not necessarily be fboundp yet. | |
73 */ | |
74 static int __almost_functionp (Lisp_Object obj) | |
75 { | |
76 return (SYMBOLP (obj) || | |
77 SUBRP (obj) || | |
78 COMPILED_FUNCTIONP (obj) || | |
79 EQ (Fcar_safe (obj), Qlambda)); | |
80 } | |
81 | |
82 DEFUN ("glade-xml-signal-connect", Fglade_xml_signal_connect, 3, 3, 0, /* | |
83 Connect a glade handler. | |
84 */ | |
85 (xml, handler_name, func)) | |
86 { | |
87 CHECK_GTK_OBJECT (xml); | |
88 CHECK_STRING (handler_name); | |
89 | |
90 if (!__almost_functionp (func)) | |
91 { | |
92 func = wrong_type_argument (intern ("functionp"), func); | |
93 } | |
94 | |
95 glade_xml_signal_connect_full (GLADE_XML (XGTK_OBJECT (xml)->object), | |
2054 | 96 (char*) XSTRING_DATA (handler_name), |
5013 | 97 connector, STORE_LISP_IN_VOID (func)); |
462 | 98 return (Qt); |
99 } | |
100 | |
101 DEFUN ("glade-xml-signal-autoconnect", Fglade_xml_signal_autoconnect, 1, 1, 0, /* | |
102 Connect all glade handlers. | |
103 */ | |
104 (xml)) | |
105 { | |
106 CHECK_GTK_OBJECT (xml); | |
107 | |
108 glade_xml_signal_autoconnect_full (GLADE_XML (XGTK_OBJECT (xml)->object), | |
5013 | 109 connector, STORE_LISP_IN_VOID (Qnil)); |
462 | 110 return (Qt); |
111 } | |
112 | |
113 DEFUN ("glade-xml-textdomain", Fglade_xml_textdomain, 1, 1, 0, /* | |
114 Return the textdomain of a GladeXML object. | |
115 */ | |
116 (xml)) | |
117 { | |
118 gchar *the_domain = NULL; | |
119 | |
120 CHECK_GTK_OBJECT (xml); | |
121 | |
122 if (!GLADE_IS_XML (XGTK_OBJECT (xml)->object)) | |
123 { | |
563 | 124 wtaerror ("Object is not a GladeXML type.", xml); |
462 | 125 } |
126 | |
127 #ifdef LIBGLADE_XML_TXTDOMAIN | |
128 the_domain = GLADE_XML (XGTK_OBJECT (xml)->object)->txtdomain; | |
129 #else | |
130 the_domain = GLADE_XML (XGTK_OBJECT (xml)->object)->textdomain; | |
131 #endif | |
4953
304aebb79cd3
function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents:
4709
diff
changeset
|
132 return (build_cistring (the_domain)); |
462 | 133 } |
134 | |
135 void syms_of_glade (void) | |
136 { | |
137 DEFSUBR (Fglade_xml_signal_connect); | |
138 DEFSUBR (Fglade_xml_signal_autoconnect); | |
139 DEFSUBR (Fglade_xml_textdomain); | |
140 } | |
141 | |
142 void vars_of_glade (void) | |
143 { | |
144 Fprovide (intern ("glade")); | |
145 } | |
146 | |
147 #else /* !(HAVE_GLADE_H || HAVE_GLADE_GLADE_H) */ | |
148 #define syms_of_glade() | |
149 #define vars_of_glade() | |
150 #endif |