annotate src/gaimrc.c @ 4898:bd37db7531e4

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