libpurple/protocols/oscar/util.c

Sat, 20 Jan 2007 02:32:10 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Sat, 20 Jan 2007 02:32:10 +0000
changeset 15435
4b933b06d75e
parent 14254
libgaim/protocols/oscar/util.c@77edc7a6191a
child 15884
4de1981757fc
permissions
-rw-r--r--

Rename gtk/ and libgaim/ to pidgin/ and libpurple/

13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
1 /*
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
2 * Gaim's oscar protocol plugin
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
3 * This file is the legal property of its developers.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
4 * Please see the AUTHORS file distributed alongside this file.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
5 *
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
6 * This library is free software; you can redistribute it and/or
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
8 * License as published by the Free Software Foundation; either
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
9 * version 2 of the License, or (at your option) any later version.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
10 *
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
11 * This library is distributed in the hope that it will be useful,
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
14 * Lesser General Public License for more details.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
15 *
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
17 * License along with this library; if not, write to the Free Software
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
19 */
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
20
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 /*
4246
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
22 * A little bit of this
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
23 * A little bit of that
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
24 * It started with a kiss
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
25 * Now we're up to bat
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
28 #include "oscar.h"
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 #include <ctype.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30
4246
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
31 #ifdef _WIN32
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
32 #include "win32dep.h"
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
33 #endif
36828a69456f [gaim-migrate @ 4496]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
34
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 * Tokenizing functions. Used to portably replace strtok/sep.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 * -- DMP.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
40 int
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
41 aimutil_tokslen(char *toSearch, int theindex, char dl)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
43 int curCount = 1;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
44 char *next;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
45 char *last;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
46 int toReturn;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
47
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
48 last = toSearch;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
49 next = strchr(toSearch, dl);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50
6323
70c997ce574d [gaim-migrate @ 6822]
Zach Rusin
parents: 6322
diff changeset
51 while(curCount < theindex && next != NULL) {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
52 curCount++;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
53 last = next + 1;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
54 next = strchr(last, dl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
55 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56
6323
70c997ce574d [gaim-migrate @ 6822]
Zach Rusin
parents: 6322
diff changeset
57 if ((curCount < theindex) || (next == NULL))
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
58 toReturn = strlen(toSearch) - (curCount - 1);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
59 else
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
60 toReturn = next - toSearch - (curCount - 1);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
61
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
62 return toReturn;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
65 int
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
66 aimutil_itemcnt(char *toSearch, char dl)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
68 int curCount;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
69 char *next;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
70
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
71 curCount = 1;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
72
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
73 next = strchr(toSearch, dl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
74
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
75 while(next != NULL) {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
76 curCount++;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
77 next = strchr(next + 1, dl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
78 }
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
79
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
80 return curCount;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
83 char *
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
84 aimutil_itemindex(char *toSearch, int theindex, char dl)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
86 int curCount;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
87 char *next;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
88 char *last;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
89 char *toReturn;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
90
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
91 curCount = 0;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
92
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
93 last = toSearch;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
94 next = strchr(toSearch, dl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
95
6323
70c997ce574d [gaim-migrate @ 6822]
Zach Rusin
parents: 6322
diff changeset
96 while (curCount < theindex && next != NULL) {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
97 curCount++;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
98 last = next + 1;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
99 next = strchr(last, dl);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100 }
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
101 next = strchr(last, dl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
102
6323
70c997ce574d [gaim-migrate @ 6822]
Zach Rusin
parents: 6322
diff changeset
103 if (curCount < theindex) {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
104 toReturn = malloc(sizeof(char));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
105 *toReturn = '\0';
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
106 } else {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
107 if (next == NULL) {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
108 toReturn = malloc((strlen(last) + 1) * sizeof(char));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
109 strcpy(toReturn, last);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
110 } else {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
111 toReturn = malloc((next - last + 1) * sizeof(char));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
112 memcpy(toReturn, last, (next - last));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
113 toReturn[next - last] = '\0';
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
114 }
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
115 }
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
116 return toReturn;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
117 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
118
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
119 /**
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
120 * Calculate the checksum of a given icon.
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
121 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
122 guint16
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
123 aimutil_iconsum(const guint8 *buf, int buflen)
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
124 {
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents: 13169
diff changeset
125 guint32 sum;
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
126 int i;
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
127
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
128 for (i=0, sum=0; i+1<buflen; i+=2)
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
129 sum += (buf[i+1] << 8) + buf[i];
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
130 if (i < buflen)
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
131 sum += buf[i];
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
132 sum = ((sum & 0xffff0000) >> 16) + (sum & 0x0000ffff);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
133
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
134 return sum;
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
135 }
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4246
diff changeset
136
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
137 /**
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
138 * Check if the given screen name is a valid AIM screen name.
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
139 * Example: BobDole
9681
9df6d086ce97 [gaim-migrate @ 10533]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 8982
diff changeset
140 * Example: Henry_Ford@mac.com
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
141 *
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
142 * @return TRUE if the screen name is valid, FALSE if not.
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
143 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
144 static gboolean
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
145 aim_snvalid_aim(const char *sn)
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
146 {
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
147 int i;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
148
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
149 for (i = 0; sn[i] != '\0'; i++) {
9681
9df6d086ce97 [gaim-migrate @ 10533]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 8982
diff changeset
150 if (!isalnum(sn[i]) && (sn[i] != ' ') &&
9df6d086ce97 [gaim-migrate @ 10533]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 8982
diff changeset
151 (sn[i] != '@') && (sn[i] != '.') &&
9df6d086ce97 [gaim-migrate @ 10533]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 8982
diff changeset
152 (sn[i] != '_') && (sn[i] != '-'))
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
153 return FALSE;
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
154 }
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
155
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
156 return TRUE;
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
157 }
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
158
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
159 /**
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
160 * Check if the given screen name is a valid ICQ screen name.
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
161 * Example: 1234567
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
162 *
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
163 * @return TRUE if the screen name is valid, FALSE if not.
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
164 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
165 static gboolean
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
166 aim_snvalid_icq(const char *sn)
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
167 {
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
168 int i;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
169
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
170 for (i = 0; sn[i] != '\0'; i++) {
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
171 if (!isdigit(sn[i]))
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
172 return 0;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
173 }
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
174
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
175 return 1;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
176 }
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
177
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
178 /**
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
179 * Check if the given screen name is a valid SMS screen name.
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
180 * Example: +19195551234
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
181 *
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
182 * @return TRUE if the screen name is valid, FALSE if not.
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
183 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
184 static gboolean
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
185 aim_snvalid_sms(const char *sn)
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
186 {
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
187 int i;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
188
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
189 if (sn[0] != '+')
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
190 return 0;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
191
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
192 for (i = 1; sn[i] != '\0'; i++) {
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
193 if (!isdigit(sn[i]))
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
194 return 0;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
195 }
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
196
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
197 return 1;
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
198 }
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
199
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
200 /**
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
201 * Check if the given screen name is a valid oscar screen name.
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
202 *
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
203 * @return TRUE if the screen name is valid, FALSE if not.
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
204 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
205 gboolean
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
206 aim_snvalid(const char *sn)
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
207 {
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
208 if ((sn == NULL) || (*sn == '\0'))
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
209 return 0;
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
210
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
211 if (isalpha(sn[0]))
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
212 return aim_snvalid_aim(sn);
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
213 else if (isdigit(sn[0]))
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
214 return aim_snvalid_icq(sn);
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
215 else if (sn[0] == '+')
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
216 return aim_snvalid_sms(sn);
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
217
8972
9fbb6e964df8 [gaim-migrate @ 9746]
Mark Doliner <markdoliner@pidgin.im>
parents: 8885
diff changeset
218 return 0;
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
219 }
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 6323
diff changeset
220
9975
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
221 /**
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
222 * Determine if a given screen name is an ICQ screen name
9975
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
223 * (i.e. it begins with a number).
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
224 *
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
225 * @sn A valid AIM or ICQ screen name.
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
226 * @return TRUE if the screen name is an ICQ screen name. Otherwise
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
227 * FALSE is returned.
9975
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
228 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
229 gboolean
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
230 aim_sn_is_icq(const char *sn)
9975
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
231 {
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
232 if (isalpha(sn[0]))
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
233 return FALSE;
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
234 return TRUE;
9975
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
235 }
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9681
diff changeset
236
13169
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
237 /**
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
238 * Determine if a given screen name is an SMS number
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
239 * (i.e. it begins with a +).
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
240 *
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
241 * @sn A valid AIM or ICQ screen name.
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
242 * @return TRUE if the screen name is an SMS number. Otherwise
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
243 * FALSE is returned.
13169
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
244 */
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
245 gboolean
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
246 aim_sn_is_sms(const char *sn)
13169
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
247 {
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
248 if (sn[0] != '+')
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
249 return FALSE;
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
250 return TRUE;
13169
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
251 }
c09d2d5dba91 [gaim-migrate @ 15531]
Evan Schoenberg <evands@pidgin.im>
parents: 11253
diff changeset
252
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
253 /**
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
254 * This takes a screen name and returns its length without
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
255 * spaces. If there are no spaces in the SN, then the
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
256 * return is equal to that of strlen().
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
257 */
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
258 int
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
259 aim_snlen(const char *sn)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
260 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
261 int i = 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
262
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
263 if (!sn)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
264 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
265
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
266 while (*sn != '\0') {
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
267 if (*sn != ' ')
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
268 i++;
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
269 sn++;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
270 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
271
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2086
diff changeset
272 return i;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
273 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
274
13607
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
275 /**
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
276 * This takes two screen names and compares them using the rules
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
277 * on screen names for AIM/AOL. Mainly, this means case and space
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
278 * insensitivity (all case differences and spacing differences are
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
279 * ignored, with the exception that screen names can not start with
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
280 * a space).
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
281 *
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
282 * Return: 0 if equal
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
283 * non-0 if different
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
284 */
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
285 int
3f75dc90654e [gaim-migrate @ 15992]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
286 aim_sncmp(const char *sn1, const char *sn2)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
287 {
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
288
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9975
diff changeset
289 if ((sn1 == NULL) || (sn2 == NULL))
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9975
diff changeset
290 return -1;
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9975
diff changeset
291
5928
9d5ace6e5354 [gaim-migrate @ 6368]
Mark Doliner <markdoliner@pidgin.im>
parents: 5927
diff changeset
292 do {
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
293 while (*sn2 == ' ')
5724
43232f2d4694 [gaim-migrate @ 6146]
Mark Doliner <markdoliner@pidgin.im>
parents: 5628
diff changeset
294 sn2++;
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
295 while (*sn1 == ' ')
5724
43232f2d4694 [gaim-migrate @ 6146]
Mark Doliner <markdoliner@pidgin.im>
parents: 5628
diff changeset
296 sn1++;
5928
9d5ace6e5354 [gaim-migrate @ 6368]
Mark Doliner <markdoliner@pidgin.im>
parents: 5927
diff changeset
297 if (toupper(*sn1) != toupper(*sn2))
9d5ace6e5354 [gaim-migrate @ 6368]
Mark Doliner <markdoliner@pidgin.im>
parents: 5927
diff changeset
298 return 1;
9d5ace6e5354 [gaim-migrate @ 6368]
Mark Doliner <markdoliner@pidgin.im>
parents: 5927
diff changeset
299 } while ((*sn1 != '\0') && sn1++ && sn2++);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
300
5928
9d5ace6e5354 [gaim-migrate @ 6368]
Mark Doliner <markdoliner@pidgin.im>
parents: 5927
diff changeset
301 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
302 }

mercurial