Mon, 12 May 2014 22:37:06 +0200
Get rid of fair amount of copy-pasta and coverity warnings
|
8790
3d6d2e2f6296
[gaim-migrate @ 9552]
Jonathan Champ <royanee@users.sourceforge.net>
parents:
8737
diff
changeset
|
1 | /** |
| 5872 | 2 | * @file internal.h Internal definitions and includes |
|
6371
e92b66ee5518
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6170
diff
changeset
|
3 | * @ingroup core |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
4 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
5 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
6 | /* purple |
| 5872 | 7 | * |
| 15884 | 8 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
|
11137
cf40226ddff7
[gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents:
10589
diff
changeset
|
11 | * |
| 5872 | 12 | * This program is free software; you can redistribute it and/or modify |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 23 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19742
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5872 | 25 | */ |
| 15884 | 26 | #ifndef _PURPLE_INTERNAL_H_ |
| 27 | #define _PURPLE_INTERNAL_H_ | |
| 5872 | 28 | |
| 29 | #ifdef HAVE_CONFIG_H | |
|
6371
e92b66ee5518
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6170
diff
changeset
|
30 | # include <config.h> |
| 5872 | 31 | #endif |
| 32 | ||
|
19742
4e76841db5c0
Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents:
18609
diff
changeset
|
33 | /* for SIOCGIFCONF in SKYOS */ |
|
4e76841db5c0
Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents:
18609
diff
changeset
|
34 | #ifdef SKYOS |
|
4e76841db5c0
Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents:
18609
diff
changeset
|
35 | #include <net/sockios.h> |
|
4e76841db5c0
Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents:
18609
diff
changeset
|
36 | #endif |
|
9999
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
37 | /* |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
38 | * If we're using NLS, make sure gettext works. If not, then define |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
39 | * dummy macros in place of the normal gettext macros. |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
40 | * |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
41 | * Also, the perl XS config.h file sometimes defines _ So we need to |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
42 | * make sure _ isn't already defined before trying to define it. |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
43 | * |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
44 | * The Singular/Plural/Number ngettext dummy definition below was |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
45 | * taken from an email to the texinfo mailing list by Manuel Guerrero. |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
46 | * Thank you Manuel, and thank you Alex's good friend Google. |
|
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
47 | */ |
| 5872 | 48 | #ifdef ENABLE_NLS |
|
8737
b9f8de95d6bb
[gaim-migrate @ 9492]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
49 | # include <locale.h> |
|
35660
c7a49364ce5f
Fix load of warnings on win32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35556
diff
changeset
|
50 | # ifndef __APPLE_CC__ |
|
c7a49364ce5f
Fix load of warnings on win32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35556
diff
changeset
|
51 | # define __APPLE_CC__ 0 |
|
c7a49364ce5f
Fix load of warnings on win32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35556
diff
changeset
|
52 | # endif |
| 5872 | 53 | # include <libintl.h> |
|
16124
8e5e3e9ada60
Hopefully prevent libpurple causing problems for 3rd party UIs if they also
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15929
diff
changeset
|
54 | # define _(String) ((const char *)dgettext(PACKAGE, String)) |
| 5872 | 55 | # ifdef gettext_noop |
| 56 | # define N_(String) gettext_noop (String) | |
| 57 | # else | |
| 58 | # define N_(String) (String) | |
| 59 | # endif | |
| 60 | #else | |
| 8730 | 61 | # include <locale.h> |
| 5872 | 62 | # define N_(String) (String) |
|
9999
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
63 | # ifndef _ |
|
14342
9059c7771ef1
[gaim-migrate @ 16965]
Mark Doliner <markdoliner@pidgin.im>
parents:
14333
diff
changeset
|
64 | # define _(String) ((const char *)String) |
|
9999
86e89e1dee10
[gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents:
8793
diff
changeset
|
65 | # endif |
|
13107
704041197f4d
[gaim-migrate @ 15468]
Richard Laager <rlaager@pidgin.im>
parents:
13105
diff
changeset
|
66 | # define ngettext(Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural)) |
|
16124
8e5e3e9ada60
Hopefully prevent libpurple causing problems for 3rd party UIs if they also
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15929
diff
changeset
|
67 | # define dngettext(Domain, Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural)) |
| 5872 | 68 | #endif |
| 69 | ||
| 70 | #ifdef HAVE_ENDIAN_H | |
| 71 | # include <endian.h> | |
| 72 | #endif | |
| 73 | ||
| 74 | #define MSG_LEN 2048 | |
| 75 | /* The above should normally be the same as BUF_LEN, | |
|
8735
01248ea222d3
[gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents:
8730
diff
changeset
|
76 | * but just so we're explicitly asking for the max message |
| 5872 | 77 | * length. */ |
| 78 | #define BUF_LEN MSG_LEN | |
| 79 | #define BUF_LONG BUF_LEN * 2 | |
| 80 | ||
| 81 | #include <sys/stat.h> | |
| 82 | #include <sys/types.h> | |
|
5912
32619a71edd2
[gaim-migrate @ 6344]
Herman Bloggs <herman@bluedigits.com>
parents:
5872
diff
changeset
|
83 | #ifndef _WIN32 |
|
14333
13d7807ae88c
[gaim-migrate @ 16954]
Daniel Atallah <datallah@pidgin.im>
parents:
14254
diff
changeset
|
84 | #include <sys/time.h> |
| 5872 | 85 | #include <sys/wait.h> |
| 13875 | 86 | #include <sys/time.h> |
|
5912
32619a71edd2
[gaim-migrate @ 6344]
Herman Bloggs <herman@bluedigits.com>
parents:
5872
diff
changeset
|
87 | #endif |
| 5872 | 88 | #include <ctype.h> |
| 89 | #include <errno.h> | |
| 90 | #include <fcntl.h> | |
| 91 | #include <math.h> | |
| 92 | #include <stdio.h> | |
| 93 | #include <stdlib.h> | |
| 94 | #include <string.h> | |
| 95 | #include <time.h> | |
| 96 | ||
| 97 | #ifdef HAVE_ICONV | |
| 98 | #include <iconv.h> | |
| 99 | #endif | |
| 100 | ||
| 101 | #ifdef HAVE_LANGINFO_CODESET | |
| 102 | #include <langinfo.h> | |
| 103 | #endif | |
| 104 | ||
|
18609
3512a0bda029
gmodule.h is needed in internal.h for GLIB_CHECK_VERSION() to be defined; this is independent of whether PURPLE_PLUGINS is defined.
Evan Schoenberg <evands@pidgin.im>
parents:
18549
diff
changeset
|
105 | #include <gmodule.h> |
|
3512a0bda029
gmodule.h is needed in internal.h for GLIB_CHECK_VERSION() to be defined; this is independent of whether PURPLE_PLUGINS is defined.
Evan Schoenberg <evands@pidgin.im>
parents:
18549
diff
changeset
|
106 | |
| 15884 | 107 | #ifdef PURPLE_PLUGINS |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
108 | # ifdef HAVE_DLFCN_H |
| 5872 | 109 | # include <dlfcn.h> |
| 110 | # endif | |
| 111 | #endif | |
| 112 | ||
|
5912
32619a71edd2
[gaim-migrate @ 6344]
Herman Bloggs <herman@bluedigits.com>
parents:
5872
diff
changeset
|
113 | #ifndef _WIN32 |
| 5872 | 114 | # include <netinet/in.h> |
| 115 | # include <sys/socket.h> | |
| 6170 | 116 | # include <arpa/inet.h> |
| 5872 | 117 | # include <sys/un.h> |
| 118 | # include <sys/utsname.h> | |
| 119 | # include <netdb.h> | |
| 120 | # include <signal.h> | |
| 121 | # include <unistd.h> | |
| 122 | #endif | |
| 123 | ||
| 124 | #ifndef HOST_NAME_MAX | |
| 125 | # define HOST_NAME_MAX 255 | |
| 126 | #endif | |
| 127 | ||
| 128 | #include <glib.h> | |
|
14707
3753832fd0de
[gaim-migrate @ 17391]
Mark Doliner <markdoliner@pidgin.im>
parents:
14342
diff
changeset
|
129 | |
|
29491
31c1d615772e
Kill off unneeded GLIB_CHECK_VERSION checks in libpurple. Refs #10024.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27708
diff
changeset
|
130 | /* This wasn't introduced until Glib 2.14 :( */ |
|
27539
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
131 | #ifndef G_MAXSSIZE |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
132 | # if GLIB_SIZEOF_LONG == 8 |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
133 | # define G_MAXSSIZE ((gssize) 0x7fffffffffffffff) |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
134 | # else |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
135 | # define G_MAXSSIZE ((gssize) 0x7fffffff) |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
136 | # endif |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
137 | #endif |
|
e94b84b12eb6
Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <darkrain42@pidgin.im>
parents:
26726
diff
changeset
|
138 | |
|
29491
31c1d615772e
Kill off unneeded GLIB_CHECK_VERSION checks in libpurple. Refs #10024.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27708
diff
changeset
|
139 | #include <glib/gstdio.h> |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10588
diff
changeset
|
140 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14707
diff
changeset
|
141 | #ifdef _WIN32 |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14707
diff
changeset
|
142 | #include "win32dep.h" |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14707
diff
changeset
|
143 | #endif |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14707
diff
changeset
|
144 | |
|
27708
5dc9e57a6685
HAVE_CONFIG_H is not defined when building the perl plugin, so work around
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27705
diff
changeset
|
145 | #ifdef HAVE_CONFIG_H |
|
27705
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
146 | #if SIZEOF_TIME_T == 4 |
|
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
147 | # define PURPLE_TIME_T_MODIFIER "lu" |
|
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
148 | #elif SIZEOF_TIME_T == 8 |
|
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
149 | # define PURPLE_TIME_T_MODIFIER "zu" |
|
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
150 | #else |
|
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
151 | #error Unknown size of time_t |
|
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
152 | #endif |
|
27708
5dc9e57a6685
HAVE_CONFIG_H is not defined when building the perl plugin, so work around
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27705
diff
changeset
|
153 | #endif |
|
27705
06cdb9c6366f
Fix this compiler warning:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
27539
diff
changeset
|
154 | |
|
26615
2171a9101814
Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Michael Ruprecht <maiku@pidgin.im>
parents:
25888
diff
changeset
|
155 | #include <glib-object.h> |
|
2171a9101814
Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Michael Ruprecht <maiku@pidgin.im>
parents:
25888
diff
changeset
|
156 | |
|
36021
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
157 | #if !GLIB_CHECK_VERSION(2, 32, 0) |
|
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
158 | |
|
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
159 | #define G_GNUC_BEGIN_IGNORE_DEPRECATIONS |
|
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
160 | #define G_GNUC_END_IGNORE_DEPRECATIONS |
|
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
161 | |
|
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
162 | #endif /* 2.32.0 */ |
|
61e8e081e93c
Fix build for glib < 2.32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35977
diff
changeset
|
163 | |
|
35977
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
164 | #ifdef __clang__ |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
165 | |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
166 | #undef G_GNUC_BEGIN_IGNORE_DEPRECATIONS |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
167 | #define G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
168 | _Pragma ("clang diagnostic push") \ |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
169 | _Pragma ("clang diagnostic ignored \"-Wdeprecated-declarations\"") |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
170 | |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
171 | #undef G_GNUC_END_IGNORE_DEPRECATIONS |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
172 | #define G_GNUC_END_IGNORE_DEPRECATIONS \ |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
173 | _Pragma ("clang diagnostic pop") |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
174 | |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
175 | #endif /* __clang__ */ |
|
9b7b48f446f4
Backport warning fixes from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35660
diff
changeset
|
176 | |
|
36025
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
177 | #ifdef __COVERITY__ |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
178 | |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
179 | /* avoid TAINTED_SCALAR warning */ |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
180 | #undef g_utf8_next_char |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
181 | #define g_utf8_next_char(p) (char *)((p) + 1) |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
182 | |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
183 | #endif |
|
2897add11757
Silence some coverity false positives
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36021
diff
changeset
|
184 | |
|
13105
8f9c66e4af87
[gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents:
11677
diff
changeset
|
185 | /* Safer ways to work with static buffers. When using non-static |
|
8f9c66e4af87
[gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents:
11677
diff
changeset
|
186 | * buffers, either use g_strdup_* functions (preferred) or use |
|
8f9c66e4af87
[gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents:
11677
diff
changeset
|
187 | * g_strlcpy/g_strlcpy directly. */ |
| 15884 | 188 | #define purple_strlcpy(dest, src) g_strlcpy(dest, src, sizeof(dest)) |
| 189 | #define purple_strlcat(dest, src) g_strlcat(dest, src, sizeof(dest)) | |
|
13105
8f9c66e4af87
[gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents:
11677
diff
changeset
|
190 | |
|
35556
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
191 | typedef union |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
192 | { |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
193 | struct sockaddr sa; |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
194 | struct sockaddr_in in; |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
195 | struct sockaddr_in6 in6; |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
196 | struct sockaddr_storage storage; |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
197 | } common_sockaddr_t; |
|
eeb82d3d33b1
Add missing typedef
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
29491
diff
changeset
|
198 | |
|
15929
f18159529c60
The last s/purple.sourceforge.net/pidgin.im/ in my local copy. This changes PURPLE_WEBSITE, so stuff should change in the UI all over the place.
Richard Laager <rlaager@pidgin.im>
parents:
15926
diff
changeset
|
199 | #define PURPLE_WEBSITE "http://pidgin.im/" |
| 16967 | 200 | #define PURPLE_DEVEL_WEBSITE "http://developer.pidgin.im/" |
| 5872 | 201 | |
|
24569
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
202 | |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
203 | /* INTERNAL FUNCTIONS */ |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
204 | |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
205 | #include "account.h" |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
206 | #include "connection.h" |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
207 | |
|
16565
f5cd28cc7367
Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
208 | /* This is for the accounts code to notify the buddy icon code that |
|
f5cd28cc7367
Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
209 | * it's done loading. We may want to replace this with a signal. */ |
|
f5cd28cc7367
Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
210 | void |
|
16696
450ba3bd5b63
The GNOME coding guidelines recommend prefixing internal symbols with an underscore.
Richard Laager <rlaager@pidgin.im>
parents:
16565
diff
changeset
|
211 | _purple_buddy_icons_account_loaded_cb(void); |
|
16565
f5cd28cc7367
Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
212 | |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
213 | /* This is for the buddy list to notify the buddy icon code that |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
214 | * it's done loading. We may want to replace this with a signal. */ |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
215 | void |
|
16696
450ba3bd5b63
The GNOME coding guidelines recommend prefixing internal symbols with an underscore.
Richard Laager <rlaager@pidgin.im>
parents:
16565
diff
changeset
|
216 | _purple_buddy_icons_blist_loaded_cb(void); |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
217 | |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
218 | /* This is for the purple_core_migrate() code to tell the buddy |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
219 | * icon subsystem about the old icons directory so it can |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
220 | * migrate any icons in use. */ |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
221 | void |
|
16696
450ba3bd5b63
The GNOME coding guidelines recommend prefixing internal symbols with an underscore.
Richard Laager <rlaager@pidgin.im>
parents:
16565
diff
changeset
|
222 | _purple_buddy_icon_set_old_icons_dir(const char *dirname); |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
223 | |
|
24569
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
224 | /** |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
225 | * Creates a connection to the specified account and either connects |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
226 | * or attempts to register a new account. If you are logging in, |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
227 | * the connection uses the current active status for this account. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
228 | * So if you want to sign on as "away," for example, you need to |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
229 | * have called purple_account_set_status(account, "away"). |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
230 | * (And this will call purple_account_connect() automatically). |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
231 | * |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
232 | * @note This function should only be called by purple_account_connect() |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
233 | * in account.c. If you're trying to sign on an account, use that |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
234 | * function instead. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
235 | * |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
236 | * @param account The account the connection should be connecting to. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
237 | * @param regist Whether we are registering a new account or just |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
238 | * trying to do a normal signon. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
239 | * @param password The password to use. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
240 | */ |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
241 | void _purple_connection_new(PurpleAccount *account, gboolean regist, |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
242 | const char *password); |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
243 | /** |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
244 | * Tries to unregister the account on the server. If the account is not |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
245 | * connected, also creates a new connection. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
246 | * |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
247 | * @note This function should only be called by purple_account_unregister() |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
248 | * in account.c. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
249 | * |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
250 | * @param account The account to unregister |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
251 | * @param password The password to use. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
252 | * @param cb Optional callback to be called when unregistration is complete |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
253 | * @param user_data user data to pass to the callback |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
254 | */ |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
255 | void _purple_connection_new_unregister(PurpleAccount *account, const char *password, |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
256 | PurpleAccountUnregistrationCb cb, void *user_data); |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
257 | /** |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
258 | * Disconnects and destroys a PurpleConnection. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
259 | * |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
260 | * @note This function should only be called by purple_account_disconnect() |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
261 | * in account.c. If you're trying to sign off an account, use that |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
262 | * function instead. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
263 | * |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
264 | * @param gc The purple connection to destroy. |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
265 | */ |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
266 | void _purple_connection_destroy(PurpleConnection *gc); |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23542
diff
changeset
|
267 | |
|
36028
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
268 | /** |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
269 | * Sets most commonly used socket flags: O_NONBLOCK and FD_CLOEXEC. |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
270 | * |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
271 | * @param fd The file descriptor for the socket. |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
272 | * |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
273 | * @return TRUE if succeeded, FALSE otherwise. |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
274 | */ |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
275 | gboolean |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
276 | _purple_network_set_common_socket_flags(int fd); |
|
fc5300cb3617
Get rid of fair amount of copy-pasta and coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36025
diff
changeset
|
277 | |
| 15884 | 278 | #endif /* _PURPLE_INTERNAL_H_ */ |