Sun, 19 Jan 2003 22:16:52 +0000
[gaim-migrate @ 4614]
XML Blist
Gaim stores all the buddy lists in one big happy file now. You can order
the buddies however you want, and they'll stay ordered that way.
We can also store some per-buddy information now, which will be cool.
| 1 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4 | * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 | * | |
| 6 | * This program is free software; you can redistribute it and/or modify | |
| 7 | * it under the terms of the GNU General Public License as published by | |
| 8 | * the Free Software Foundation; either version 2 of the License, or | |
| 9 | * (at your option) any later version. | |
| 10 | * | |
| 11 | * This program is distributed in the hope that it will be useful, | |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 | * GNU General Public License for more details. | |
| 15 | * | |
| 16 | * You should have received a copy of the GNU General Public License | |
| 17 | * along with this program; if not, write to the Free Software | |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 | * | |
| 20 | */ | |
| 21 | ||
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
340
diff
changeset
|
22 | #ifdef HAVE_CONFIG_H |
|
2090
bab8b7e309db
[gaim-migrate @ 2100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2036
diff
changeset
|
23 | #include <config.h> |
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
340
diff
changeset
|
24 | #endif |
| 1 | 25 | #include <string.h> |
| 3630 | 26 | |
| 27 | #ifndef _WIN32 | |
| 1 | 28 | #include <sys/time.h> |
| 3630 | 29 | #include <unistd.h> |
| 30 | #endif | |
| 1 | 31 | |
| 32 | #include <sys/types.h> | |
| 33 | #include <sys/stat.h> | |
| 34 | ||
|
4201
547da94c5a14
[gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents:
4189
diff
changeset
|
35 | #include <ctype.h> |
| 1 | 36 | #include <stdio.h> |
| 37 | #include <stdlib.h> | |
| 38 | #include "gaim.h" | |
|
1264
80816a51169a
[gaim-migrate @ 1274]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1254
diff
changeset
|
39 | #include "prpl.h" |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
40 | #include "proxy.h" |
| 1 | 41 | |
| 3630 | 42 | #ifdef _WIN32 |
| 43 | #include "win32dep.h" | |
| 44 | #endif | |
| 45 | ||
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
46 | /* for people like myself, who are too lazy to add an away msg :) */ |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
47 | #define BORING_DEFAULT_AWAY_MSG "sorry, i ran out for a while. bbl" |
| 1139 | 48 | #define MAX_VALUES 10 |
| 1 | 49 | |
|
2397
432ccc0c7f18
[gaim-migrate @ 2410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2389
diff
changeset
|
50 | GSList *aim_users = NULL; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
51 | guint misc_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
52 | guint logging_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
53 | guint blist_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
54 | guint convo_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
55 | guint im_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
56 | guint chat_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
57 | guint font_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
58 | guint sound_options; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
59 | guint away_options; |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
60 | guint away_resend; |
| 4137 | 61 | static guint is_loading_prefs = 0; |
| 62 | static guint request_save_prefs = 0; | |
| 63 | static guint is_saving_prefs = 0; | |
| 64 | static guint request_load_prefs = 0; | |
| 65 | guint proxy_info_is_from_gaimrc = 1; /* Only save proxy info if it | |
| 66 | * was loaded from the file | |
| 67 | * or otherwise explicitly requested */ | |
| 1 | 68 | |
| 3630 | 69 | int report_idle; |
| 70 | int web_browser; | |
| 1 | 71 | struct save_pos blist_pos; |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
72 | struct window_size conv_size, buddy_chat_size; |
| 4189 | 73 | char web_command[2048] = ""; |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
74 | char *sound_file[NUM_SOUNDS]; |
| 3630 | 75 | #ifndef _WIN32 |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
76 | char sound_cmd[2048]; |
| 3630 | 77 | #endif |
| 1 | 78 | |
| 79 | struct parse { | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
80 | char option[256]; |
|
2286
bc6384ba314a
[gaim-migrate @ 2296]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2199
diff
changeset
|
81 | char value[MAX_VALUES][4096]; |
| 1 | 82 | }; |
| 83 | ||
| 3493 | 84 | static struct parse *parse_line(char *line, struct parse *p) |
| 1 | 85 | { |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
86 | char *c = line; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
87 | int inopt = 1, inval = 0, curval = -1; |
| 4137 | 88 | int optlen = 0, vallen = 0, last_non_space = 0; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
89 | int x; |
| 1 | 90 | |
| 1137 | 91 | for (x = 0; x < MAX_VALUES; x++) { |
| 3493 | 92 | p->value[x][0] = 0; |
| 1137 | 93 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
94 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
95 | while (*c) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
96 | if (*c == '\t') { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
97 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
98 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
99 | } |
| 4049 | 100 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
101 | if (inopt) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
102 | if ((*c < 'a' || *c > 'z') && *c != '_' && (*c < 'A' || *c > 'Z')) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
103 | inopt = 0; |
| 3493 | 104 | p->option[optlen] = 0; |
| 1 | 105 | c++; |
| 106 | continue; | |
| 107 | } | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
108 | |
| 3493 | 109 | p->option[optlen] = *c; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
110 | optlen++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
111 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
112 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
113 | } else if (inval) { |
| 4049 | 114 | if (*c == '\\') { |
| 115 | /* if we have a \ take the char after it literally.. */ | |
| 116 | c++; | |
| 117 | p->value[curval][vallen] = *c; | |
| 118 | ||
| 119 | vallen++; | |
| 4137 | 120 | last_non_space = vallen; |
| 4049 | 121 | c++; |
| 122 | continue; | |
| 123 | } else if (*c == '}') { | |
| 124 | /* } that isn't escaped should end this chunk of data, and | |
| 125 | * should have a space before it.. */ | |
| 4137 | 126 | p->value[curval][last_non_space] = 0; |
| 4049 | 127 | inval = 0; |
| 128 | c++; | |
| 129 | continue; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
130 | } else { |
| 3493 | 131 | p->value[curval][vallen] = *c; |
| 4049 | 132 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
133 | vallen++; |
| 4137 | 134 | if (! isspace(*c)) |
| 135 | last_non_space = vallen; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
136 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
137 | continue; |
| 1 | 138 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
139 | } else if (*c == '{') { |
| 4049 | 140 | /* i really don't think this if ever succeeds, but i'm |
| 141 | * not brave enough to take it out... */ | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
142 | if (*(c - 1) == '\\') { |
| 4137 | 143 | p->value[curval][vallen] = *c; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
144 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
145 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
146 | } else { |
| 4049 | 147 | /* { that isn't escaped should signify the start of a |
| 148 | * piece of data and should have a space after it.. */ | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
149 | curval++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
150 | vallen = 0; |
| 4137 | 151 | last_non_space = vallen; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
152 | inval = 1; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
153 | c++; |
| 4137 | 154 | while (*c && isspace(*c)) |
| 155 | c++; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
156 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
157 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
158 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
159 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
160 | } |
| 1137 | 161 | |
| 3493 | 162 | return p; |
| 1 | 163 | } |
| 164 | ||
| 165 | ||
| 166 | static int gaimrc_parse_tag(FILE *f) | |
| 167 | { | |
| 168 | char buf[2048]; | |
| 169 | char tag[256]; | |
| 170 | buf[0] = '#'; | |
| 171 | ||
| 172 | while (buf[0] == '#' && !feof(f)) | |
| 173 | fgets(buf, sizeof(buf), f); | |
| 174 | ||
| 175 | if (feof(f)) | |
| 176 | return -1; | |
| 177 | ||
| 178 | sscanf(buf, "%s {", tag); | |
| 179 | ||
| 180 | if (!strcmp(tag, "users")) { | |
| 181 | return 0; | |
| 182 | } else if (!strcmp(tag, "options")) { | |
| 183 | return 1; | |
| 184 | } else if (!strcmp(tag, "away")) { | |
| 185 | return 2; | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
186 | } else if (!strcmp(tag, "plugins")) { |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
187 | return 3; |
| 673 | 188 | } else if (!strcmp(tag, "pounce")) { |
| 189 | return 4; | |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
190 | } else if (!strcmp(tag, "sound_files")) { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
191 | return 6; |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
192 | } else if (!strcmp(tag, "proxy")) { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
193 | return 7; |
|
4026
4ec5559caae9
[gaim-migrate @ 4230]
Herman Bloggs <herman@bluedigits.com>
parents:
3924
diff
changeset
|
194 | } else if (!strcmp(tag, "wgaim")) { |
|
4ec5559caae9
[gaim-migrate @ 4230]
Herman Bloggs <herman@bluedigits.com>
parents:
3924
diff
changeset
|
195 | return 8; |
| 1 | 196 | } |
| 197 | return -1; | |
| 198 | } | |
| 199 | ||
|
2379
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
200 | static void filter_break(char *msg) |
| 1 | 201 | { |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
202 | char *c; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
203 | int mc; |
| 44 | 204 | int cc; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
205 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
206 | c = g_malloc(strlen(msg) + 1); |
| 44 | 207 | strcpy(c, msg); |
| 1 | 208 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
209 | mc = 0; |
| 44 | 210 | cc = 0; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
211 | while (c[cc] != '\0') { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
212 | if (c[cc] == '\\') { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
213 | cc++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
214 | msg[mc] = c[cc]; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
215 | } else { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
216 | msg[mc] = c[cc]; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
217 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
218 | mc++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
219 | cc++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
220 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
221 | msg[mc] = 0; |
| 44 | 222 | g_free(c); |
| 1 | 223 | } |
| 224 | ||
|
2379
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
225 | static char *escape_text2(const char *msg) |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
226 | { |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
227 | char *c, *cpy; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
228 | char *woo; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
229 | int cnt = 0; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
230 | /* Assumes you have a buffer able to cary at least BUF_LEN * 2 bytes */ |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
231 | |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
232 | woo = malloc(strlen(msg) * 4 + 1); |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
233 | cpy = g_strndup(msg, 2048); |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
234 | c = cpy; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
235 | while (*c) { |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
236 | switch (*c) { |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
237 | case '\n': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
238 | woo[cnt++] = '<'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
239 | woo[cnt++] = 'B'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
240 | woo[cnt++] = 'R'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
241 | woo[cnt++] = '>'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
242 | break; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
243 | case '{': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
244 | case '}': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
245 | case '\\': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
246 | case '"': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
247 | woo[cnt++] = '\\'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
248 | /* Fall through */ |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
249 | default: |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
250 | woo[cnt++] = *c; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
251 | } |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
252 | c++; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
253 | } |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
254 | woo[cnt] = '\0'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
255 | |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
256 | g_free(cpy); |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
257 | return woo; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
258 | } |
| 44 | 259 | |
| 1 | 260 | static void gaimrc_read_away(FILE *f) |
| 261 | { | |
| 3493 | 262 | struct parse parse_buffer; |
| 1 | 263 | struct parse *p; |
| 264 | char buf[4096]; | |
| 265 | struct away_message *a; | |
| 266 | ||
| 267 | buf[0] = 0; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
268 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
269 | while (buf[0] != '}') { |
| 1 | 270 | if (!fgets(buf, sizeof(buf), f)) |
| 271 | return; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
272 | |
| 1 | 273 | if (buf[0] == '}') |
| 274 | return; | |
| 275 | ||
| 3493 | 276 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
277 | if (!strcmp(p->option, "message")) { |
| 15 | 278 | a = g_new0(struct away_message, 1); |
| 1 | 279 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
280 | g_snprintf(a->name, sizeof(a->name), "%s", p->value[0]); |
| 15 | 281 | g_snprintf(a->message, sizeof(a->message), "%s", p->value[1]); |
|
2091
7cefef97a2fc
[gaim-migrate @ 2101]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2090
diff
changeset
|
282 | filter_break(a->name); |
| 15 | 283 | filter_break(a->message); |
| 1209 | 284 | away_messages = g_slist_insert_sorted(away_messages, a, sort_awaymsg_list); |
| 15 | 285 | } |
| 1109 | 286 | /* auto { time } { default message } */ |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
287 | else if (!strcmp(p->option, "auto")) { |
| 1109 | 288 | auto_away = atoi(p->value[0]); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
289 | default_away = g_slist_nth_data(away_messages, atoi(p->value[1])); |
| 1109 | 290 | } |
| 1 | 291 | } |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
292 | if (!away_messages) { |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
293 | a = g_new0(struct away_message, 1); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
294 | g_snprintf(a->name, sizeof(a->name), "boring default"); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
295 | g_snprintf(a->message, sizeof(a->message), "%s", BORING_DEFAULT_AWAY_MSG); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
296 | away_messages = g_slist_append(away_messages, a); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
297 | } |
| 1 | 298 | } |
| 299 | ||
| 300 | static void gaimrc_write_away(FILE *f) | |
| 301 | { | |
| 940 | 302 | GSList *awy = away_messages; |
| 1 | 303 | struct away_message *a; |
| 304 | ||
| 305 | fprintf(f, "away {\n"); | |
| 306 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
307 | if (awy) { |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
308 | while (awy) { |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
309 | char *str1, *str2; |
| 26 | 310 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
311 | a = (struct away_message *)awy->data; |
| 26 | 312 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
313 | str1 = escape_text2(a->name); |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
314 | str2 = escape_text2(a->message); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
315 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
316 | fprintf(f, "\tmessage { %s } { %s }\n", str1, str2); |
| 26 | 317 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
318 | /* escape_text2 uses malloc(), so we don't want to g_free these */ |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
319 | free(str1); |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
320 | free(str2); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
321 | |
| 940 | 322 | awy = g_slist_next(awy); |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
323 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
324 | fprintf(f, "\tauto { %d } { %d }\n", auto_away, |
| 1254 | 325 | g_slist_index(away_messages, default_away)); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
326 | } else { |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
327 | fprintf(f, "\tmessage { boring default } { %s }\n", BORING_DEFAULT_AWAY_MSG); |
| 1109 | 328 | fprintf(f, "\tauto { 0 } { 0 }\n"); |
| 329 | } | |
| 1 | 330 | |
| 331 | fprintf(f, "}\n"); | |
| 332 | } | |
| 333 | ||
| 673 | 334 | static void gaimrc_read_pounce(FILE *f) |
| 335 | { | |
| 3493 | 336 | struct parse parse_buffer; |
| 673 | 337 | struct parse *p; |
| 338 | char buf[4096]; | |
| 339 | struct buddy_pounce *b; | |
| 340 | ||
| 341 | buf[0] = 0; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
342 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
343 | while (buf[0] != '}') { |
| 673 | 344 | if (!fgets(buf, sizeof(buf), f)) |
| 345 | return; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
346 | |
| 673 | 347 | if (buf[0] == '}') |
| 348 | return; | |
| 349 | ||
| 3493 | 350 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
351 | if (!strcmp(p->option, "entry")) { |
| 673 | 352 | b = g_new0(struct buddy_pounce, 1); |
| 353 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
354 | g_snprintf(b->name, sizeof(b->name), "%s", p->value[0]); |
|
2091
7cefef97a2fc
[gaim-migrate @ 2101]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2090
diff
changeset
|
355 | filter_break(b->name); |
| 1155 | 356 | g_snprintf(b->message, sizeof(b->message), "%s", p->value[1]); |
|
2091
7cefef97a2fc
[gaim-migrate @ 2101]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2090
diff
changeset
|
357 | filter_break(b->message); |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
358 | g_snprintf(b->command, sizeof(b->command), "%s", p->value[2]); |
|
2091
7cefef97a2fc
[gaim-migrate @ 2101]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2090
diff
changeset
|
359 | filter_break(b->command); |
| 673 | 360 | |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
361 | b->options = atoi(p->value[3]); |
| 1137 | 362 | |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
363 | g_snprintf(b->pouncer, sizeof(b->pouncer), "%s", p->value[4]); |
|
2091
7cefef97a2fc
[gaim-migrate @ 2101]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2090
diff
changeset
|
364 | filter_break(b->pouncer); |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
365 | b->protocol = atoi(p->value[5]); |
| 1137 | 366 | |
| 1694 | 367 | g_snprintf(b->sound, sizeof(b->sound), "%s", p->value[6]); |
|
2091
7cefef97a2fc
[gaim-migrate @ 2101]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2090
diff
changeset
|
368 | filter_break(b->sound); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
369 | |
| 673 | 370 | buddy_pounces = g_list_append(buddy_pounces, b); |
| 371 | } | |
| 372 | } | |
| 373 | } | |
| 374 | ||
| 375 | static void gaimrc_write_pounce(FILE *f) | |
| 376 | { | |
| 377 | GList *pnc = buddy_pounces; | |
| 378 | struct buddy_pounce *b; | |
| 379 | ||
| 380 | fprintf(f, "pounce {\n"); | |
| 381 | ||
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
382 | while (pnc) { |
| 1694 | 383 | char *str1, *str2, *str3, *str4; |
| 673 | 384 | |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
385 | b = (struct buddy_pounce *)pnc->data; |
| 673 | 386 | |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
387 | str1 = escape_text2(b->name); |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
388 | if (strlen(b->message)) |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
389 | str2 = escape_text2(b->message); |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
390 | else { |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
391 | str2 = malloc(1); |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
392 | str2[0] = 0; |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
393 | } |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
394 | if (strlen(b->command)) |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
395 | str3 = escape_text2(b->command); |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
396 | else { |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
397 | str3 = malloc(1); |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
398 | str3[0] = 0; |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
399 | } |
| 1694 | 400 | if (strlen(b->sound)) |
| 401 | str4 = escape_text2(b->sound); | |
| 402 | else { | |
| 403 | str4 = malloc(1); | |
| 404 | str4[0] = 0; | |
| 405 | } | |
| 673 | 406 | |
| 1694 | 407 | fprintf(f, "\tentry { %s } { %s } { %s } { %d } { %s } { %d } { %s }\n", |
| 408 | str1, str2, str3, b->options, b->pouncer, b->protocol, str4); | |
| 673 | 409 | |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
410 | /* escape_text2 uses malloc(), so we don't want to g_free these */ |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
411 | free(str1); |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
412 | free(str2); |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
413 | free(str3); |
| 1694 | 414 | free(str4); |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
415 | |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
416 | pnc = pnc->next; |
| 673 | 417 | } |
| 418 | ||
| 419 | fprintf(f, "}\n"); | |
| 420 | } | |
| 421 | ||
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
422 | #ifdef GAIM_PLUGINS |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
423 | static void gaimrc_write_plugins(FILE *f) |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
424 | { |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
425 | GList *pl = plugins; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
426 | struct gaim_plugin *p; |
| 1 | 427 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
428 | fprintf(f, "plugins {\n"); |
| 1 | 429 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
430 | while (pl) { |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
431 | char *path; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
432 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
433 | p = (struct gaim_plugin *)pl->data; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
434 | |
| 3563 | 435 | path = escape_text2(p->path); |
| 436 | ||
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
437 | fprintf(f, "\tplugin { %s }\n", path); |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
438 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
439 | free(path); |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
440 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
441 | pl = pl->next; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
442 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
443 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
444 | fprintf(f, "}\n"); |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
445 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
446 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
447 | static void gaimrc_read_plugins(FILE *f) |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
448 | { |
| 3493 | 449 | struct parse parse_buffer; |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
450 | struct parse *p; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
451 | char buf[4096]; |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
452 | GSList *load = NULL; |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
453 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
454 | buf[0] = 0; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
455 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
456 | while (buf[0] != '}') { |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
457 | if (!fgets(buf, sizeof(buf), f)) |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
458 | break; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
459 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
460 | if (buf[0] == '}') |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
461 | break; |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
462 | |
| 3493 | 463 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
464 | if (!strcmp(p->option, "plugin")) { |
|
4122
f07270736f01
[gaim-migrate @ 4339]
Herman Bloggs <herman@bluedigits.com>
parents:
4049
diff
changeset
|
465 | #ifndef _WIN32 |
|
2095
6bd5ca5e4745
[gaim-migrate @ 2105]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2091
diff
changeset
|
466 | filter_break(p->value[0]); |
|
4122
f07270736f01
[gaim-migrate @ 4339]
Herman Bloggs <herman@bluedigits.com>
parents:
4049
diff
changeset
|
467 | #endif |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
468 | load = g_slist_append(load, g_strdup(p->value[0])); |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
469 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
470 | } |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
471 | /* this is such a fucked up hack. the reason we do this is because after |
|
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
472 | * we load a plugin the gaimrc file gets rewrit. so we have to remember |
|
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
473 | * which ones to load before loading them. */ |
|
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
474 | while (load) { |
|
1710
4793276c2510
[gaim-migrate @ 1720]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1694
diff
changeset
|
475 | if (load->data) |
|
2095
6bd5ca5e4745
[gaim-migrate @ 2105]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2091
diff
changeset
|
476 | load_plugin(load->data); |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
477 | g_free(load->data); |
|
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
478 | load = g_slist_remove(load, load->data); |
|
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
479 | } |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
480 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
481 | #endif /* GAIM_PLUGINS */ |
| 1 | 482 | |
| 483 | static struct aim_user *gaimrc_read_user(FILE *f) | |
| 484 | { | |
| 3493 | 485 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
486 | struct parse *p; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
487 | struct aim_user *u; |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
488 | int i; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
489 | char buf[4096]; |
| 1 | 490 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
491 | if (!fgets(buf, sizeof(buf), f)) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
492 | return NULL; |
| 1 | 493 | |
| 3493 | 494 | p = parse_line(buf, &parse_buffer); |
| 1 | 495 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
496 | if (strcmp(p->option, "ident")) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
497 | return NULL; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
498 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
499 | u = g_new0(struct aim_user, 1); |
| 1 | 500 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
501 | strcpy(u->username, p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
502 | strcpy(u->password, p->value[1]); |
| 1 | 503 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
504 | u->user_info[0] = 0; |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
505 | u->options = OPT_USR_REM_PASS; |
|
1878
ffbde9f31c65
[gaim-migrate @ 1888]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1843
diff
changeset
|
506 | u->protocol = DEFAULT_PROTO; |
| 4349 | 507 | u->permit = u->deny = NULL; |
| 1 | 508 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
509 | if (!fgets(buf, sizeof(buf), f)) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
510 | return u; |
| 1 | 511 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
512 | if (strcmp(buf, "\t\tuser_info {\n")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
513 | return u; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
514 | } |
| 1 | 515 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
516 | if (!fgets(buf, sizeof(buf), f)) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
517 | return u; |
| 1 | 518 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
519 | while (strncmp(buf, "\t\t}", 3)) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
520 | if (strlen(buf) > 3) |
| 4137 | 521 | strcat(u->user_info, buf + 3); |
| 1 | 522 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
523 | if (!fgets(buf, sizeof(buf), f)) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
524 | return u; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
525 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
526 | } |
| 1 | 527 | |
|
1456
c03c929f8139
[gaim-migrate @ 1466]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1441
diff
changeset
|
528 | if ((i = strlen(u->user_info))) { |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
529 | u->user_info[i - 1] = '\0'; |
|
1292
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1264
diff
changeset
|
530 | } |
|
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1264
diff
changeset
|
531 | |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
532 | if (!fgets(buf, sizeof(buf), f)) { |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
533 | return u; |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
534 | } |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
535 | |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
536 | if (!strcmp(buf, "\t}")) { |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
537 | return u; |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
538 | } |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
539 | |
| 3493 | 540 | p = parse_line(buf, &parse_buffer); |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
541 | |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
542 | if (strcmp(p->option, "user_opts")) |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
543 | return u; |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
544 | |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
545 | u->options = atoi(p->value[0]); |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
546 | u->protocol = atoi(p->value[1]); |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
547 | |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
548 | if (!fgets(buf, sizeof(buf), f)) |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
549 | return u; |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
550 | |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
551 | if (!strcmp(buf, "\t}")) |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
552 | return u; |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
553 | |
| 3493 | 554 | p = parse_line(buf, &parse_buffer); |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
555 | |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
556 | if (strcmp(p->option, "proto_opts")) |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
557 | return u; |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
558 | |
|
1843
aeeac3ee7ac5
[gaim-migrate @ 1853]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1813
diff
changeset
|
559 | for (i = 0; i < 7; i++) |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
560 | g_snprintf(u->proto_opt[i], sizeof u->proto_opt[i], "%s", p->value[i]); |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
561 | |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
562 | if (!fgets(buf, sizeof(buf), f)) |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
563 | return u; |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
564 | |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
565 | if (!strcmp(buf, "\t}")) |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
566 | return u; |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
567 | |
| 3493 | 568 | p = parse_line(buf, &parse_buffer); |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
569 | |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
570 | if (strcmp(p->option, "iconfile")) |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
571 | return u; |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
572 | |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
573 | g_snprintf(u->iconfile, sizeof(u->iconfile), "%s", p->value[0]); |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
574 | |
| 3205 | 575 | if (!fgets(buf, sizeof(buf), f)) |
| 576 | return u; | |
| 577 | ||
| 578 | if (!strcmp(buf, "\t}")) | |
| 579 | return u; | |
| 580 | ||
| 3493 | 581 | p = parse_line(buf, &parse_buffer); |
| 3205 | 582 | |
| 583 | if (strcmp(p->option, "alias")) | |
| 584 | return u; | |
| 585 | ||
| 586 | g_snprintf(u->alias, sizeof(u->alias), "%s", p->value[0]); | |
| 587 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
588 | return u; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
589 | |
| 1 | 590 | } |
| 591 | ||
| 592 | static void gaimrc_write_user(FILE *f, struct aim_user *u) | |
| 593 | { | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
594 | char *c; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
595 | int nl = 1, i; |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
596 | |
|
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
597 | if (u->options & OPT_USR_REM_PASS) { |
|
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
598 | fprintf(f, "\t\tident { %s } { %s }\n", u->username, (c = escape_text2(u->password))); |
|
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
599 | free(c); |
|
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
600 | } else { |
|
131
50460674821d
[gaim-migrate @ 141]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
84
diff
changeset
|
601 | fprintf(f, "\t\tident { %s } { }\n", u->username); |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
602 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
603 | fprintf(f, "\t\tuser_info {"); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
604 | c = u->user_info; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
605 | while (*c) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
606 | /* This is not as silly as it looks. */ |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
607 | if (*c == '\n') { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
608 | nl++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
609 | } else { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
610 | if (nl) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
611 | while (nl) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
612 | fprintf(f, "\n\t\t\t"); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
613 | nl--; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
614 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
615 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
616 | fprintf(f, "%c", *c); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
617 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
618 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
619 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
620 | fprintf(f, "\n\t\t}\n"); |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
621 | fprintf(f, "\t\tuser_opts { %d } { %d }\n", u->options, u->protocol); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
622 | fprintf(f, "\t\tproto_opts"); |
|
1843
aeeac3ee7ac5
[gaim-migrate @ 1853]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1813
diff
changeset
|
623 | for (i = 0; i < 7; i++) |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
624 | fprintf(f, " { %s }", u->proto_opt[i]); |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
625 | fprintf(f, "\n"); |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
626 | fprintf(f, "\t\ticonfile { %s }\n", u->iconfile); |
| 3205 | 627 | fprintf(f, "\t\talias { %s }\n", u->alias); |
| 1 | 628 | } |
| 629 | ||
| 630 | static void gaimrc_read_users(FILE *f) | |
| 631 | { | |
| 632 | char buf[2048]; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
633 | struct aim_user *u; |
| 3493 | 634 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
635 | struct parse *p; |
| 1 | 636 | |
| 637 | buf[0] = 0; | |
| 638 | ||
| 639 | while (buf[0] != '}') { | |
| 640 | if (buf[0] == '#') | |
| 641 | continue; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
642 | |
| 1 | 643 | if (!fgets(buf, sizeof(buf), f)) |
| 644 | return; | |
| 645 | ||
| 646 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
647 | |
| 3493 | 648 | p = parse_line(buf, &parse_buffer); |
| 1 | 649 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
650 | if (!strcmp(p->option, "current_user")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
651 | } else if (strcmp(p->option, "user")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
652 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
653 | } else { |
|
159
bd2436428efa
[gaim-migrate @ 169]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
158
diff
changeset
|
654 | } |
| 1 | 655 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
656 | u = gaimrc_read_user(f); |
| 1 | 657 | |
|
2397
432ccc0c7f18
[gaim-migrate @ 2410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2389
diff
changeset
|
658 | aim_users = g_slist_append(aim_users, u); |
| 1 | 659 | } |
| 660 | } | |
| 661 | ||
| 662 | static void gaimrc_write_users(FILE *f) | |
| 663 | { | |
|
2397
432ccc0c7f18
[gaim-migrate @ 2410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2389
diff
changeset
|
664 | GSList *usr = aim_users; |
| 1 | 665 | struct aim_user *u; |
| 666 | ||
| 667 | fprintf(f, "users {\n"); | |
| 668 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
669 | while (usr) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
670 | u = (struct aim_user *)usr->data; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
671 | fprintf(f, "\tuser {\n"); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
672 | gaimrc_write_user(f, u); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
673 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
674 | fprintf(f, "\t}\n"); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
675 | |
| 1 | 676 | usr = usr->next; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
677 | } |
| 1 | 678 | |
| 679 | fprintf(f, "}\n"); | |
| 680 | } | |
| 681 | ||
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
682 | struct replace { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
683 | int old; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
684 | guint *val; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
685 | int new; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
686 | }; |
| 1 | 687 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
688 | static struct replace gen_replace[] = { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
689 | { /* OPT_GEN_ENTER_SENDS */ 0x00000001, &convo_options, OPT_CONVO_ENTER_SENDS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
690 | { /* OPT_GEN_APP_BUDDY_SHOW */ 0x00000010, &blist_options, OPT_BLIST_APP_BUDDY_SHOW }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
691 | { /* OPT_GEN_POPUP_WINDOWS */ 0x00000020, &im_options, OPT_IM_POPUP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
692 | { /* OPT_GEN_SEND_LINKS */ 0x00000040, &convo_options, OPT_CONVO_SEND_LINKS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
693 | { /* OPT_GEN_DEBUG */ 0x00000100, &misc_options, OPT_MISC_DEBUG }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
694 | { /* OPT_GEN_BROWSER_POPUP */ 0x00000800, &misc_options, OPT_MISC_BROWSER_POPUP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
695 | { /* OPT_GEN_SAVED_WINDOWS */ 0x00001000, &blist_options, OPT_BLIST_SAVED_WINDOWS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
696 | { /* OPT_GEN_DISCARD_WHEN_AWAY */ 0x00002000, &away_options, OPT_AWAY_DISCARD }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
697 | { /* OPT_GEN_NEAR_APPLET */ 0x00004000, &blist_options, OPT_BLIST_NEAR_APPLET }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
698 | { /* OPT_GEN_CHECK_SPELLING */ 0x00008000, &convo_options, OPT_CONVO_CHECK_SPELLING }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
699 | { /* OPT_GEN_POPUP_CHAT */ 0x00010000, &chat_options, OPT_CHAT_POPUP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
700 | { /* OPT_GEN_BACK_ON_IM */ 0x00020000, &away_options, OPT_AWAY_BACK_ON_IM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
701 | { /* OPT_GEN_CTL_CHARS */ 0x00080000, &convo_options, OPT_CONVO_CTL_CHARS }, |
| 3792 | 702 | #if 0 |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
703 | { /* OPT_GEN_TIK_HACK */ 0x00100000, &away_options, OPT_AWAY_TIK_HACK }, |
| 3792 | 704 | #endif |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
705 | { /* OPT_GEN_CTL_SMILEYS */ 0x00200000, &convo_options, OPT_CONVO_CTL_SMILEYS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
706 | { /* OPT_GEN_AUTO_AWAY */ 0x00800000, &away_options, OPT_AWAY_AUTO }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
707 | { /* OPT_GEN_ESC_CAN_CLOSE */ 0x01000000, &convo_options, OPT_CONVO_ESC_CAN_CLOSE }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
708 | { /* OPT_GEN_CTL_ENTER */ 0x02000000, &convo_options, OPT_CONVO_CTL_ENTER }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
709 | { /* OPT_GEN_F2_TOGGLES */ 0x04000000, &convo_options, OPT_CONVO_F2_TOGGLES }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
710 | { /* OPT_GEN_NO_AUTO_RESP */ 0x08000000, &away_options, OPT_AWAY_NO_AUTO_RESP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
711 | { /* OPT_GEN_QUEUE_WHEN_AWAY */ 0x10000000, &away_options, OPT_AWAY_QUEUE }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
712 | { 0,NULL,0 } |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
713 | }; |
| 1 | 714 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
715 | #define OPT_GEN_LOG_ALL 0x00000004 |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
716 | #define OPT_GEN_STRIP_HTML 0x00000008 |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
717 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
718 | static struct replace disp_replace[] = { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
719 | { /* OPT_DISP_SHOW_TIME */ 0x00000001, &convo_options, OPT_CONVO_SHOW_TIME }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
720 | { /* OPT_DISP_SHOW_GRPNUM */ 0x00000002, &blist_options, OPT_BLIST_SHOW_GRPNUM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
721 | { /* OPT_DISP_SHOW_PIXMAPS */ 0x00000004, &blist_options, OPT_BLIST_SHOW_PIXMAPS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
722 | { /* OPT_DISP_SHOW_IDLETIME */ 0x00000008, &blist_options, OPT_BLIST_SHOW_IDLETIME }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
723 | { /* OPT_DISP_SHOW_BUTTON_XPM */ 0x00000010, &blist_options, OPT_BLIST_SHOW_BUTTON_XPM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
724 | { /* OPT_DISP_IGNORE_COLOUR */ 0x00000020, &convo_options, OPT_CONVO_IGNORE_COLOUR }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
725 | { /* OPT_DISP_SHOW_LOGON */ 0x00000040, &im_options, OPT_IM_LOGON }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
726 | { /* OPT_DISP_SHOW_SMILEY */ 0x00000100, &convo_options, OPT_CONVO_SHOW_SMILEY }, |
| 3903 | 727 | { /* OPT_DISP_COOL_LOOK */ 0x00000400, &misc_options, 0}, |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
728 | { /* OPT_DISP_CHAT_LOGON */ 0x00000800, &chat_options, OPT_CHAT_LOGON }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
729 | { /* OPT_DISP_NO_BUTTONS */ 0x00002000, &blist_options, OPT_BLIST_NO_BUTTONS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
730 | { /* OPT_DISP_CONV_BUTTON_TEXT */ 0x00004000, &im_options, OPT_IM_BUTTON_TEXT }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
731 | { /* OPT_DISP_CHAT_BUTTON_TEXT */ 0x00008000, &chat_options, OPT_CHAT_BUTTON_TEXT }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
732 | { /* OPT_DISP_NO_MT_GRP */ 0x00040000, &blist_options, OPT_BLIST_NO_MT_GRP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
733 | { /* OPT_DISP_CONV_BUTTON_XPM */ 0x00080000, &im_options, OPT_IM_BUTTON_XPM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
734 | { /* OPT_DISP_CHAT_BUTTON_XPM */ 0x00100000, &chat_options, OPT_CHAT_BUTTON_XPM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
735 | { /* OPT_DISP_SHOW_WARN */ 0x00200000, &blist_options, OPT_BLIST_SHOW_WARN }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
736 | { /* OPT_DISP_IGNORE_FONTS */ 0x00400000, &convo_options, OPT_CONVO_IGNORE_FONTS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
737 | { /* OPT_DISP_IGNORE_SIZES */ 0x00800000, &convo_options, OPT_CONVO_IGNORE_SIZES }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
738 | { /* OPT_DISP_ONE_WINDOW */ 0x01000000, &im_options, OPT_IM_ONE_WINDOW }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
739 | { /* OPT_DISP_ONE_CHAT_WINDOW */ 0x02000000, &chat_options, OPT_CHAT_ONE_WINDOW }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
740 | { /* OPT_DISP_CONV_SIDE_TAB */ 0x04000000, &im_options, OPT_IM_SIDE_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
741 | { /* OPT_DISP_CONV_BR_TAB */ 0x08000000, &im_options, OPT_IM_BR_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
742 | { /* OPT_DISP_CHAT_SIDE_TAB */ 0x10000000, &chat_options, OPT_CHAT_SIDE_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
743 | { /* OPT_DISP_CHAT_BR_TAB */ 0x20000000, &chat_options, OPT_CHAT_BR_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
744 | { 0,NULL,0 } |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
745 | }; |
| 1 | 746 | |
| 747 | static void gaimrc_read_options(FILE *f) | |
| 748 | { | |
| 749 | char buf[2048]; | |
| 3493 | 750 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
751 | struct parse *p; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
752 | gboolean read_logging = FALSE, read_general = FALSE, read_display = FALSE; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
753 | int general_options = 0, display_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
754 | int i; |
| 1 | 755 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
756 | buf[0] = 0; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
757 | |
| 1 | 758 | while (buf[0] != '}') { |
| 759 | if (buf[0] == '#') | |
| 760 | continue; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
761 | |
| 1 | 762 | if (!fgets(buf, sizeof(buf), f)) |
| 763 | return; | |
| 764 | ||
| 3493 | 765 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
766 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
767 | if (!strcmp(p->option, "general_options")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
768 | general_options = atoi(p->value[0]); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
769 | read_general = TRUE; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
770 | } else if (!strcmp(p->option, "display_options")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
771 | display_options = atoi(p->value[0]); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
772 | read_display = TRUE; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
773 | } else if (!strcmp(p->option, "misc_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
774 | misc_options = atoi(p->value[0]); |
|
1525
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
775 | } else if (!strcmp(p->option, "logging_options")) { |
|
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
776 | logging_options = atoi(p->value[0]); |
|
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
777 | read_logging = TRUE; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
778 | } else if (!strcmp(p->option, "blist_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
779 | blist_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
780 | } else if (!strcmp(p->option, "convo_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
781 | convo_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
782 | } else if (!strcmp(p->option, "im_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
783 | im_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
784 | } else if (!strcmp(p->option, "chat_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
785 | chat_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
786 | } else if (!strcmp(p->option, "font_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
787 | font_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
788 | } else if (!strcmp(p->option, "sound_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
789 | sound_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
790 | } else if (!strcmp(p->option, "away_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
791 | away_options = atoi(p->value[0]); |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
792 | away_resend = atoi(p->value[1]); |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
570
diff
changeset
|
793 | } else if (!strcmp(p->option, "font_face")) { |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2592
diff
changeset
|
794 | g_snprintf(fontface, sizeof(fontface), "%s", p->value[0]); |
|
1441
71e46d36113b
[gaim-migrate @ 1451]
Decklin Foster <decklin@red-bean.com>
parents:
1420
diff
changeset
|
795 | } else if (!strcmp(p->option, "font_size")) { |
|
71e46d36113b
[gaim-migrate @ 1451]
Decklin Foster <decklin@red-bean.com>
parents:
1420
diff
changeset
|
796 | fontsize = atoi(p->value[0]); |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
570
diff
changeset
|
797 | } else if (!strcmp(p->option, "foreground")) { |
|
697
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
798 | fgcolor.red = atoi(p->value[0]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
799 | fgcolor.green = atoi(p->value[1]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
800 | fgcolor.blue = atoi(p->value[2]); |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
570
diff
changeset
|
801 | } else if (!strcmp(p->option, "background")) { |
|
697
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
802 | bgcolor.red = atoi(p->value[0]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
803 | bgcolor.green = atoi(p->value[1]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
804 | bgcolor.blue = atoi(p->value[2]); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
805 | } else if (!strcmp(p->option, "report_idle")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
806 | report_idle = atoi(p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
807 | } else if (!strcmp(p->option, "web_browser")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
808 | web_browser = atoi(p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
809 | } else if (!strcmp(p->option, "web_command")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
810 | strcpy(web_command, p->value[0]); |
| 4288 | 811 | } else if (!strcmp(p->option, "smiley_theme")) { |
| 812 | load_smiley_theme(p->value[0], TRUE); | |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
813 | } else if (!strcmp(p->option, "conv_size")) { |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
814 | conv_size.width = atoi(p->value[0]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
815 | conv_size.height = atoi(p->value[1]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
816 | conv_size.entry_height = atoi(p->value[2]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
817 | } else if (!strcmp(p->option, "buddy_chat_size")) { |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
818 | buddy_chat_size.width = atoi(p->value[0]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
819 | buddy_chat_size.height = atoi(p->value[1]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
820 | buddy_chat_size.entry_height = atoi(p->value[2]); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
821 | } else if (!strcmp(p->option, "blist_pos")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
822 | blist_pos.x = atoi(p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
823 | blist_pos.y = atoi(p->value[1]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
824 | blist_pos.width = atoi(p->value[2]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
825 | blist_pos.height = atoi(p->value[3]); |
|
82
33bc54b6c16a
[gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
44
diff
changeset
|
826 | } |
| 1 | 827 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
828 | } |
| 1 | 829 | |
|
2592
cbbdd76cd0e4
[gaim-migrate @ 2605]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2580
diff
changeset
|
830 | /* this is where we do bugs and compatibility stuff */ |
|
3099
ecc623d5638e
[gaim-migrate @ 3113]
Robert McQueen <robot101@debian.org>
parents:
2990
diff
changeset
|
831 | if (!(sound_options & (OPT_SOUND_BEEP | OPT_SOUND_ESD | OPT_SOUND_NORMAL | OPT_SOUND_NAS | OPT_SOUND_ARTSC | OPT_SOUND_CMD))) |
|
2592
cbbdd76cd0e4
[gaim-migrate @ 2605]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2580
diff
changeset
|
832 | sound_options |= OPT_SOUND_ESD | OPT_SOUND_NORMAL | OPT_SOUND_NAS | OPT_SOUND_ARTSC; |
|
cbbdd76cd0e4
[gaim-migrate @ 2605]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2580
diff
changeset
|
833 | |
|
2352
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
834 | if (conv_size.width == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
835 | conv_size.height == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
836 | conv_size.entry_height == 0) { |
| 3671 | 837 | conv_size.width = 410; |
| 838 | conv_size.height = 160; | |
|
2352
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
839 | conv_size.entry_height = 50; |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
840 | } |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
841 | |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
842 | if (buddy_chat_size.width == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
843 | buddy_chat_size.height == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
844 | buddy_chat_size.entry_height == 0) { |
| 3671 | 845 | buddy_chat_size.width = 410; |
|
2352
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
846 | buddy_chat_size.height = 160; |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
847 | buddy_chat_size.entry_height = 50; |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
848 | } |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
849 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
850 | if (read_general) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
851 | if (!read_logging) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
852 | logging_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
853 | if (general_options & OPT_GEN_LOG_ALL) |
| 3457 | 854 | logging_options |= OPT_LOG_CONVOS | OPT_LOG_CHATS; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
855 | if (general_options & OPT_GEN_STRIP_HTML) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
856 | logging_options |= OPT_LOG_STRIP_HTML; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
857 | } |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
858 | for (i = 0; gen_replace[i].val; i++) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
859 | if (general_options & gen_replace[i].old) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
860 | *gen_replace[i].val |= gen_replace[i].new; |
|
1525
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
861 | } |
|
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
862 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
863 | if (read_display) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
864 | for (i = 0; disp_replace[i].val; i++) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
865 | if (display_options & disp_replace[i].old) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
866 | *disp_replace[i].val |= disp_replace[i].new; |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
867 | |
|
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
868 | if (!away_resend) |
|
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
869 | away_resend = 120; |
| 3391 | 870 | |
| 871 | if (misc_options & OPT_MISC_BUDDY_TICKER) { | |
| 3438 | 872 | #ifdef GAIM_PLUGINS |
| 3630 | 873 | gchar* buf; |
| 874 | ||
| 875 | buf = g_strconcat(LIBDIR, G_DIR_SEPARATOR_S, | |
| 876 | #ifndef _WIN32 | |
| 877 | "ticker.so", | |
| 878 | #else | |
| 879 | "ticker.dll", | |
| 880 | #endif | |
| 881 | NULL); | |
| 882 | load_plugin(buf); | |
| 883 | g_free(buf); | |
| 3438 | 884 | #endif |
| 3391 | 885 | misc_options &= ~OPT_MISC_BUDDY_TICKER; |
| 886 | } | |
| 1 | 887 | } |
| 888 | ||
| 889 | static void gaimrc_write_options(FILE *f) | |
| 890 | { | |
| 891 | ||
| 892 | fprintf(f, "options {\n"); | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
893 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
894 | fprintf(f, "\tmisc_options { %u }\n", misc_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
895 | fprintf(f, "\tlogging_options { %u }\n", logging_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
896 | fprintf(f, "\tblist_options { %u }\n", blist_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
897 | fprintf(f, "\tconvo_options { %u }\n", convo_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
898 | fprintf(f, "\tim_options { %u }\n", im_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
899 | fprintf(f, "\tchat_options { %u }\n", chat_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
900 | fprintf(f, "\tfont_options { %u }\n", font_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
901 | fprintf(f, "\tsound_options { %u }\n", sound_options); |
|
2908
4e1dc7494fe1
[gaim-migrate @ 2921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2906
diff
changeset
|
902 | fprintf(f, "\taway_options { %u } { %u }\n", away_options, away_resend); |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2592
diff
changeset
|
903 | fprintf(f, "\tfont_face { %s }\n", fontface); |
|
1441
71e46d36113b
[gaim-migrate @ 1451]
Decklin Foster <decklin@red-bean.com>
parents:
1420
diff
changeset
|
904 | fprintf(f, "\tfont_size { %d }\n", fontsize); |
|
697
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
905 | fprintf(f, "\tforeground { %d } { %d } { %d }\n", fgcolor.red, fgcolor.green, fgcolor.blue); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
906 | fprintf(f, "\tbackground { %d } { %d } { %d }\n", bgcolor.red, bgcolor.green, bgcolor.blue); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
907 | fprintf(f, "\treport_idle { %d }\n", report_idle); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
908 | fprintf(f, "\tweb_browser { %d }\n", web_browser); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
909 | fprintf(f, "\tweb_command { %s }\n", web_command); |
| 4288 | 910 | if (current_smiley_theme) |
| 911 | fprintf(f, "\tsmiley_theme { %s }\n", current_smiley_theme->path); | |
| 3541 | 912 | fprintf(f, "\tblist_pos { %d } { %d } { %d } { %d }\n", |
| 913 | blist_pos.x, blist_pos.y, blist_pos.width, blist_pos.height); | |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
914 | fprintf(f, "\tconv_size { %d } { %d } { %d }\n", |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
915 | conv_size.width, conv_size.height, conv_size.entry_height); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
916 | fprintf(f, "\tbuddy_chat_size { %d } { %d } { %d }\n", |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
917 | buddy_chat_size.width, buddy_chat_size.height, buddy_chat_size.entry_height); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
918 | |
| 1 | 919 | fprintf(f, "}\n"); |
| 920 | } | |
| 921 | ||
| 922 | ||
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
923 | static void gaimrc_read_sounds(FILE *f) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
924 | { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
925 | int i; |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
926 | char buf[2048]; |
| 3493 | 927 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
928 | struct parse *p; |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
929 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
930 | buf[0] = 0; |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
931 | |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
932 | for (i = 0; i < NUM_SOUNDS; i++) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
933 | sound_file[i] = NULL; |
| 3630 | 934 | #ifndef _WIN32 |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
935 | sound_cmd[0] = 0; |
| 3630 | 936 | #endif |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
937 | while (buf[0] != '}') { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
938 | if (buf[0] == '#') |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
939 | continue; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
940 | |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
941 | if (!fgets(buf, sizeof(buf), f)) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
942 | return; |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
943 | |
| 3493 | 944 | p = parse_line(buf, &parse_buffer); |
| 3630 | 945 | #ifndef _WIN32 |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
946 | if (!strcmp(p->option, "sound_cmd")) { |
|
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
947 | g_snprintf(sound_cmd, sizeof(sound_cmd), "%s", p->value[0]); |
| 3630 | 948 | } else |
| 949 | #endif | |
| 950 | if (!strncmp(p->option, "sound", strlen("sound"))) { | |
|
2036
4739b7aa2a84
[gaim-migrate @ 2046]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1976
diff
changeset
|
951 | i = p->option[strlen("sound")] - 'A'; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
952 | |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
953 | if (p->value[0][0]) |
|
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
954 | sound_file[i] = g_strdup(p->value[0]); |
|
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
955 | } |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
956 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
957 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
958 | |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
959 | static void gaimrc_write_sounds(FILE *f) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
960 | { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
961 | int i; |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
962 | fprintf(f, "sound_files {\n"); |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
963 | for (i = 0; i < NUM_SOUNDS; i++) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
964 | if (sound_file[i]) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
965 | fprintf(f, "\tsound%c { %s }\n", i + 'A', sound_file[i]); |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
966 | else |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
967 | fprintf(f, "\tsound%c { }\n", i + 'A'); |
| 3630 | 968 | #ifndef _WIN32 |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
969 | fprintf(f, "\tsound_cmd { %s }\n", sound_cmd); |
| 3630 | 970 | #endif |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
971 | fprintf(f, "}\n"); |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
972 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
973 | |
| 3435 | 974 | static gboolean gaimrc_parse_proxy_uri(const char *proxy) |
| 975 | { | |
| 976 | char *c, *d; | |
| 977 | char buffer[2048]; | |
| 978 | ||
| 979 | char host[128]; | |
| 980 | char user[128]; | |
| 981 | char pass[128]; | |
| 982 | int port = 0; | |
| 983 | int len = 0; | |
| 984 | ||
| 4137 | 985 | host[0] = '\0'; |
| 986 | user[0] = '\0'; | |
| 987 | pass[0] = '\0'; | |
| 988 | ||
| 989 | debug_printf("gaimrc_parse_proxy_uri(%s)\n", proxy); | |
| 990 | ||
| 3435 | 991 | if ((c = strchr(proxy, ':')) == NULL) |
| 992 | { | |
| 4137 | 993 | debug_printf("no uri detected\n"); |
| 3435 | 994 | /* No URI detected. */ |
| 995 | return FALSE; | |
| 996 | } | |
| 997 | ||
| 998 | len = c - proxy; | |
| 999 | ||
| 4137 | 1000 | if (!strncmp(proxy, "http://", len + 3)) |
| 3435 | 1001 | proxytype = PROXY_HTTP; |
| 1002 | else | |
| 1003 | return FALSE; | |
| 1004 | ||
| 4137 | 1005 | debug_printf("found http proxy\n"); |
| 3435 | 1006 | /* Get past "://" */ |
| 1007 | c += 3; | |
| 1008 | ||
| 4137 | 1009 | debug_printf("looking at %s\n", c); |
| 1010 | ||
| 3435 | 1011 | for (;;) |
| 1012 | { | |
| 1013 | *buffer = '\0'; | |
| 1014 | d = buffer; | |
| 1015 | ||
| 1016 | while (*c != '\0' && *c != '@' && *c != ':' && *c != '/') | |
| 1017 | *d++ = *c++; | |
| 1018 | ||
| 1019 | *d = '\0'; | |
| 1020 | ||
| 1021 | if (*c == ':') | |
| 1022 | { | |
| 1023 | /* | |
| 1024 | * If there is a '@' in there somewhere, we are in the auth part. | |
| 1025 | * If not, host. | |
| 1026 | */ | |
| 1027 | if (strchr(c, '@') != NULL) | |
| 4137 | 1028 | strcpy(user, buffer); |
| 3435 | 1029 | else |
| 4137 | 1030 | strcpy(host, buffer); |
| 3435 | 1031 | } |
| 1032 | else if (*c == '@') | |
| 1033 | { | |
| 4137 | 1034 | if (user[0] == '\0') |
| 1035 | strcpy(user, buffer); | |
| 3435 | 1036 | else |
| 4137 | 1037 | strcpy(pass, buffer); |
| 3435 | 1038 | } |
| 1039 | else if (*c == '/' || *c == '\0') | |
| 1040 | { | |
| 4137 | 1041 | if (host[0] == '\0') |
| 1042 | strcpy(host, buffer); | |
| 3435 | 1043 | else |
| 1044 | port = atoi(buffer); | |
| 1045 | ||
| 1046 | /* Done. */ | |
| 1047 | break; | |
| 1048 | } | |
| 1049 | ||
| 1050 | c++; | |
| 1051 | } | |
| 1052 | ||
| 1053 | /* NOTE: HTTP_PROXY takes precendence. */ | |
| 4137 | 1054 | if (host[0]) |
| 3435 | 1055 | strcpy(proxyhost, host); |
| 1056 | else | |
| 1057 | *proxyhost = '\0'; | |
| 1058 | ||
| 4137 | 1059 | if (user[0]) |
| 3435 | 1060 | strcpy(proxyuser, user); |
| 1061 | else | |
| 1062 | *proxyuser = '\0'; | |
| 1063 | ||
| 4137 | 1064 | if (pass[0]) |
| 3435 | 1065 | strcpy(proxypass, pass); |
| 1066 | else | |
| 1067 | *proxypass = '\0'; | |
| 1068 | ||
| 1069 | proxyport = port; | |
| 1070 | ||
| 4137 | 1071 | debug_printf("host '%s'\nuser '%s'\npassword '%s'\nport %d\n", |
| 1072 | proxyhost, proxyuser, proxypass, proxyport); | |
| 1073 | ||
| 3435 | 1074 | return TRUE; |
| 1075 | } | |
| 1076 | ||
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1077 | static void gaimrc_read_proxy(FILE *f) |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1078 | { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1079 | char buf[2048]; |
| 3493 | 1080 | struct parse parse_buffer; |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1081 | struct parse *p; |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1082 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1083 | buf[0] = 0; |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1084 | proxyhost[0] = 0; |
| 4137 | 1085 | debug_printf("gaimrc_read_proxy\n"); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1086 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1087 | while (buf[0] != '}') { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1088 | if (buf[0] == '#') |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1089 | continue; |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1090 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1091 | if (!fgets(buf, sizeof(buf), f)) |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1092 | return; |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1093 | |
| 3493 | 1094 | p = parse_line(buf, &parse_buffer); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1095 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1096 | if (!strcmp(p->option, "host")) { |
| 4137 | 1097 | g_snprintf(proxyhost, sizeof(proxyhost), "%s", |
| 1098 | p->value[0]); | |
| 1099 | debug_printf("set proxyhost %s\n", proxyhost); | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1100 | } else if (!strcmp(p->option, "port")) { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1101 | proxyport = atoi(p->value[0]); |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1102 | } else if (!strcmp(p->option, "type")) { |
|
1921
c7c20d352f5a
[gaim-migrate @ 1931]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1886
diff
changeset
|
1103 | proxytype = atoi(p->value[0]); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1104 | } else if (!strcmp(p->option, "user")) { |
| 4137 | 1105 | g_snprintf(proxyuser, sizeof(proxyuser), "%s", |
| 1106 | p->value[0]); | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1107 | } else if (!strcmp(p->option, "pass")) { |
| 4137 | 1108 | g_snprintf(proxypass, sizeof(proxypass), "%s", |
| 1109 | p->value[0]); | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1110 | } |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1111 | } |
| 4137 | 1112 | if (proxyhost[0]) |
| 1113 | proxy_info_is_from_gaimrc = 1; | |
| 1114 | else if (!proxyhost[0]) { | |
| 1115 | ||
| 3435 | 1116 | gboolean getVars = TRUE; |
| 4137 | 1117 | proxy_info_is_from_gaimrc = 0; |
| 3435 | 1118 | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1119 | if (g_getenv("HTTP_PROXY")) |
| 4137 | 1120 | g_snprintf(proxyhost, sizeof(proxyhost), "%s", |
| 1121 | g_getenv("HTTP_PROXY")); | |
|
1938
93e5b550043b
[gaim-migrate @ 1948]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1936
diff
changeset
|
1122 | else if (g_getenv("http_proxy")) |
| 4137 | 1123 | g_snprintf(proxyhost, sizeof(proxyhost), "%s", |
| 1124 | g_getenv("http_proxy")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1125 | else if (g_getenv("HTTPPROXY")) |
| 4137 | 1126 | g_snprintf(proxyhost, sizeof(proxyhost), "%s", |
| 1127 | g_getenv("HTTPPROXY")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1128 | |
| 3435 | 1129 | if (*proxyhost != '\0') |
| 1130 | getVars = !gaimrc_parse_proxy_uri(proxyhost); | |
| 1131 | ||
| 1132 | if (getVars) | |
| 1133 | { | |
| 1134 | if (g_getenv("HTTP_PROXY_PORT")) | |
| 1135 | proxyport = atoi(g_getenv("HTTP_PROXY_PORT")); | |
| 1136 | else if (g_getenv("http_proxy_port")) | |
| 1137 | proxyport = atoi(g_getenv("http_proxy_port")); | |
| 1138 | else if (g_getenv("HTTPPROXYPORT")) | |
| 1139 | proxyport = atoi(g_getenv("HTTPPROXYPORT")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1140 | |
| 3435 | 1141 | if (g_getenv("HTTP_PROXY_USER")) |
| 4137 | 1142 | g_snprintf(proxyuser, sizeof(proxyuser), "%s", |
| 1143 | g_getenv("HTTP_PROXY_USER")); | |
| 3435 | 1144 | else if (g_getenv("http_proxy_user")) |
| 4137 | 1145 | g_snprintf(proxyuser, sizeof(proxyuser), "%s", |
| 1146 | g_getenv("http_proxy_user")); | |
| 3435 | 1147 | else if (g_getenv("HTTPPROXYUSER")) |
| 4137 | 1148 | g_snprintf(proxyuser, sizeof(proxyuser), "%s", |
| 1149 | g_getenv("HTTPPROXYUSER")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1150 | |
| 3435 | 1151 | if (g_getenv("HTTP_PROXY_PASS")) |
| 4137 | 1152 | g_snprintf(proxypass, sizeof(proxypass), "%s", |
| 1153 | g_getenv("HTTP_PROXY_PASS")); | |
| 3435 | 1154 | else if (g_getenv("http_proxy_pass")) |
| 4137 | 1155 | g_snprintf(proxypass, sizeof(proxypass), "%s", |
| 1156 | g_getenv("http_proxy_pass")); | |
| 3435 | 1157 | else if (g_getenv("HTTPPROXYPASS")) |
| 4137 | 1158 | g_snprintf(proxypass, sizeof(proxypass), "%s", |
| 1159 | g_getenv("HTTPPROXYPASS")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1160 | |
| 3435 | 1161 | |
| 1162 | if (proxyhost[0]) | |
| 1163 | proxytype = PROXY_HTTP; | |
| 1164 | } | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1165 | } |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1166 | } |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1167 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1168 | static void gaimrc_write_proxy(FILE *f) |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1169 | { |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
1170 | char *str; |
|
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
1171 | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1172 | fprintf(f, "proxy {\n"); |
| 4137 | 1173 | if (proxy_info_is_from_gaimrc) { |
| 1174 | fprintf(f, "\thost { %s }\n", proxyhost); | |
| 1175 | fprintf(f, "\tport { %d }\n", proxyport); | |
| 1176 | fprintf(f, "\ttype { %d }\n", proxytype); | |
| 1177 | fprintf(f, "\tuser { %s }\n", proxyuser); | |
| 1178 | fprintf(f, "\tpass { %s }\n", (str = escape_text2(proxypass))); | |
| 1179 | free(str); | |
| 1180 | } else { | |
| 1181 | fprintf(f, "\thost { %s }\n", ""); | |
| 1182 | fprintf(f, "\tport { %d }\n", 0); | |
| 1183 | fprintf(f, "\ttype { %d }\n", 0); | |
| 1184 | fprintf(f, "\tuser { %s }\n", ""); | |
| 1185 | fprintf(f, "\tpass { %s }\n", ""); | |
| 1186 | } | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1187 | fprintf(f, "}\n"); |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1188 | } |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1189 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1190 | static void set_defaults() |
| 1 | 1191 | { |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1192 | int i; |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1193 | struct away_message *a; |
| 917 | 1194 | |
| 4227 | 1195 | misc_options = |
| 1196 | OPT_MISC_USE_SERVER_ALIAS; | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1197 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1198 | logging_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1199 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1200 | blist_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1201 | OPT_BLIST_APP_BUDDY_SHOW | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1202 | OPT_BLIST_SAVED_WINDOWS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1203 | OPT_BLIST_NEAR_APPLET | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1204 | OPT_BLIST_SHOW_GRPNUM | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1205 | OPT_BLIST_SHOW_PIXMAPS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1206 | OPT_BLIST_SHOW_IDLETIME | |
| 3367 | 1207 | OPT_BLIST_GREY_IDLERS | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1208 | OPT_BLIST_SHOW_BUTTON_XPM; |
| 870 | 1209 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1210 | convo_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1211 | OPT_CONVO_ENTER_SENDS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1212 | OPT_CONVO_SEND_LINKS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1213 | OPT_CONVO_CTL_CHARS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1214 | OPT_CONVO_CTL_SMILEYS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1215 | OPT_CONVO_SHOW_TIME | |
| 3919 | 1216 | OPT_CONVO_SHOW_SMILEY | |
| 1217 | OPT_CONVO_CHECK_SPELLING; | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1218 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1219 | im_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1220 | OPT_IM_LOGON | |
| 3367 | 1221 | OPT_IM_BUTTON_XPM | |
| 1222 | OPT_IM_ONE_WINDOW ; | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1223 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1224 | chat_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1225 | OPT_CHAT_LOGON | |
|
2388
daf70f99d89f
[gaim-migrate @ 2401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2383
diff
changeset
|
1226 | OPT_CHAT_BUTTON_XPM | |
| 3367 | 1227 | OPT_CHAT_TAB_COMPLETE | |
| 1228 | OPT_CHAT_ONE_WINDOW; | |
| 870 | 1229 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1230 | font_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1231 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1232 | away_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1233 | OPT_AWAY_BACK_ON_IM; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1234 | |
| 3493 | 1235 | for (i = 0; i < NUM_SOUNDS; i++) |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1236 | sound_file[i] = NULL; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1237 | font_options = 0; |
|
2580
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1238 | /* Enable all of the sound players that might be available. The first |
|
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1239 | available one will be used. */ |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1240 | sound_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1241 | OPT_SOUND_LOGIN | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1242 | OPT_SOUND_LOGOUT | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1243 | OPT_SOUND_RECV | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1244 | OPT_SOUND_SEND | |
|
2580
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1245 | OPT_SOUND_SILENT_SIGNON | |
|
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1246 | OPT_SOUND_NORMAL | |
|
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1247 | OPT_SOUND_NAS | |
|
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1248 | OPT_SOUND_ARTSC | |
|
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1249 | OPT_SOUND_ESD; |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1250 | |
| 2990 | 1251 | #ifdef USE_SCREENSAVER |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1252 | report_idle = IDLE_SCREENSAVER; |
| 2990 | 1253 | #else |
| 1254 | report_idle = IDLE_GAIM; | |
| 1255 | #endif | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1256 | web_browser = BROWSER_NETSCAPE; |
| 3434 | 1257 | g_snprintf(web_command, sizeof(web_command), "xterm -e lynx %%s"); |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1258 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1259 | auto_away = 10; |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1260 | a = g_new0(struct away_message, 1); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1261 | g_snprintf(a->name, sizeof(a->name), "boring default"); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1262 | g_snprintf(a->message, sizeof(a->message), "%s", BORING_DEFAULT_AWAY_MSG); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1263 | away_messages = g_slist_append(away_messages, a); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1264 | default_away = a; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1265 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1266 | blist_pos.width = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1267 | blist_pos.height = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1268 | blist_pos.x = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1269 | blist_pos.y = 0; |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1270 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1271 | conv_size.width = 320; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1272 | conv_size.height = 175; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1273 | conv_size.entry_height = 50; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1274 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1275 | buddy_chat_size.width = 320; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1276 | buddy_chat_size.height = 160; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1277 | buddy_chat_size.entry_height = 50; |
| 1 | 1278 | } |
| 1279 | ||
| 1280 | void load_prefs() | |
| 1281 | { | |
| 1282 | FILE *f; | |
| 1283 | char buf[1024]; | |
| 1284 | int ver = 0; | |
| 4137 | 1285 | debug_printf("load_prefs\n"); |
| 1286 | if (is_saving_prefs) { | |
| 1287 | request_load_prefs = 1; | |
| 1288 | debug_printf("currently saving, will request load\n"); | |
| 1289 | return; | |
| 1290 | } | |
|
570
3450eeb314a1
[gaim-migrate @ 580]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
453
diff
changeset
|
1291 | |
| 1560 | 1292 | if (opt_rcfile_arg) |
| 1293 | g_snprintf(buf, sizeof(buf), "%s", opt_rcfile_arg); | |
| 3630 | 1294 | else if (gaim_home_dir()) |
| 1295 | g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S ".gaimrc", gaim_home_dir()); | |
| 1560 | 1296 | else { |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1297 | set_defaults(); |
| 1560 | 1298 | return; |
| 1299 | } | |
| 1300 | ||
| 1301 | if ((f = fopen(buf, "r"))) { | |
| 4137 | 1302 | is_loading_prefs = 1; |
| 1303 | debug_printf("start load_prefs\n"); | |
| 1560 | 1304 | fgets(buf, sizeof(buf), f); |
| 1305 | sscanf(buf, "# .gaimrc v%d", &ver); | |
|
2389
fa35272e9c1a
[gaim-migrate @ 2402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2388
diff
changeset
|
1306 | if ((ver <= 3) || (buf[0] != '#')) |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1307 | set_defaults(); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1308 | |
| 1560 | 1309 | while (!feof(f)) { |
| 4137 | 1310 | int tag = gaimrc_parse_tag(f); |
| 1311 | debug_printf("starting read tag %d\n", tag); | |
| 1312 | switch (tag) { | |
| 1560 | 1313 | case -1: |
| 1314 | /* Let the loop end, EOF */ | |
| 1315 | break; | |
| 1316 | case 0: | |
| 1317 | gaimrc_read_users(f); | |
| 1318 | break; | |
| 1319 | case 1: | |
| 1320 | gaimrc_read_options(f); | |
| 1321 | break; | |
| 1322 | case 2: | |
| 1323 | gaimrc_read_away(f); | |
| 1324 | break; | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
1325 | #ifdef GAIM_PLUGINS |
| 1560 | 1326 | case 3: |
| 1327 | gaimrc_read_plugins(f); | |
| 1328 | break; | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
1329 | #endif |
| 1560 | 1330 | case 4: |
| 1331 | gaimrc_read_pounce(f); | |
| 1332 | break; | |
| 1333 | case 6: | |
| 1334 | gaimrc_read_sounds(f); | |
| 1335 | break; | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1336 | case 7: |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1337 | gaimrc_read_proxy(f); |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1338 | break; |
| 1560 | 1339 | default: |
| 1340 | /* NOOP */ | |
| 1341 | break; | |
| 1 | 1342 | } |
| 4137 | 1343 | debug_printf("ending read tag %d\n", tag); |
| 1 | 1344 | } |
| 1560 | 1345 | fclose(f); |
| 4137 | 1346 | is_loading_prefs = 0; |
| 1347 | debug_printf("end load_prefs\n"); | |
| 1348 | if (request_save_prefs) { | |
| 1349 | debug_printf("saving prefs on request\n"); | |
| 1350 | save_prefs(); | |
| 1351 | request_save_prefs = 0; | |
| 1352 | } | |
| 1560 | 1353 | } else if (opt_rcfile_arg) { |
| 1354 | g_snprintf(buf, sizeof(buf), _("Could not open config file %s."), opt_rcfile_arg); | |
| 3427 | 1355 | do_error_dialog(buf, NULL, GAIM_ERROR); |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1356 | set_defaults(); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1357 | } else { |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1358 | set_defaults(); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1359 | save_prefs(); |
| 1 | 1360 | } |
| 1361 | } | |
| 1362 | ||
| 1363 | void save_prefs() | |
| 1364 | { | |
| 1365 | FILE *f; | |
| 1366 | char buf[BUF_LONG]; | |
| 4137 | 1367 | debug_printf("enter save_prefs\n"); |
| 1368 | if (is_loading_prefs) { | |
| 1369 | request_save_prefs = 1; | |
| 1370 | debug_printf("currently loading, will request save\n"); | |
| 1371 | return; | |
| 1372 | } | |
| 1 | 1373 | |
| 3630 | 1374 | if (opt_rcfile_arg) { |
| 1560 | 1375 | g_snprintf(buf, sizeof(buf), "%s", opt_rcfile_arg); |
| 3630 | 1376 | } |
| 1377 | else if (gaim_home_dir()) { | |
| 1378 | g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S ".gaimrc", gaim_home_dir()); | |
| 1379 | } | |
| 1380 | else { | |
| 1560 | 1381 | return; |
| 3630 | 1382 | } |
| 1560 | 1383 | if ((f = fopen(buf, "w"))) { |
| 4137 | 1384 | is_saving_prefs = 1; |
| 1560 | 1385 | fprintf(f, "# .gaimrc v%d\n", 4); |
| 1386 | gaimrc_write_users(f); | |
| 1387 | gaimrc_write_options(f); | |
| 1388 | gaimrc_write_sounds(f); | |
| 1389 | gaimrc_write_away(f); | |
| 1390 | gaimrc_write_pounce(f); | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
1391 | #ifdef GAIM_PLUGINS |
| 1560 | 1392 | gaimrc_write_plugins(f); |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
1393 | #endif |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1394 | gaimrc_write_proxy(f); |
| 1560 | 1395 | fclose(f); |
|
3717
2fc0789e04e8
[gaim-migrate @ 3850]
Herman Bloggs <herman@bluedigits.com>
parents:
3671
diff
changeset
|
1396 | |
| 1560 | 1397 | chmod(buf, S_IRUSR | S_IWUSR); |
| 4137 | 1398 | is_saving_prefs = 0; |
| 1 | 1399 | } |
| 3630 | 1400 | else |
| 1401 | debug_printf("Error opening .gaimrc\n"); | |
| 4137 | 1402 | if (request_load_prefs) { |
| 1403 | debug_printf("loading prefs on request\n"); | |
| 1404 | load_prefs(); | |
| 1405 | request_load_prefs = 0; | |
| 1406 | } | |
| 1407 | debug_printf("exit save_prefs\n"); | |
| 1 | 1408 | } |
| 1409 | ||
| 1209 | 1410 | |
| 1411 | ||
| 1412 | /* This function is called by g_slist_insert_sorted to compare the item | |
| 1413 | * being compared to the rest of the items on the list. | |
| 1414 | */ | |
| 1415 | ||
| 1416 | gint sort_awaymsg_list(gconstpointer a, gconstpointer b) | |
| 1417 | { | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1418 | struct away_message *msg_a; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1419 | struct away_message *msg_b; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1420 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1421 | msg_a = (struct away_message *)a; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1422 | msg_b = (struct away_message *)b; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1423 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1424 | return (strcmp(msg_a->name, msg_b->name)); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1425 | |
| 1209 | 1426 | } |