Mercurial > pidgin
annotate sounds/au2h.c @ 3147:3805d9d344f2
[gaim-migrate @ 3163]
Please test this.
Yahoo changed it's authentication method and has started disallowing older clients (and third party clients using the older method) to connect to their servers. This impliments the new authentication method so that we won't get blocked from Yahoo, and Indian users (who have already been blocked) can connect again. It's not perfect--it should fail about 1 out of 16 times. It's an easy bug to find and fix, but I want to go to bed now. If you find yourself failing to connect more than this 1 of 16, please let me know, and I'll tell you how to help me debug it.
Thanks.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sun, 14 Apr 2002 07:50:48 +0000 |
parents | 5ed382006539 |
children |
rev | line source |
---|---|
1 | 1 #include <stdio.h> |
2 #if !(__GLIBC__ < 2) | |
3 #include <error.h> | |
4 #endif | |
5 #include <fcntl.h> | |
200
bc117fbcf527
[gaim-migrate @ 210]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
10
diff
changeset
|
6 #include <unistd.h> |
469 | 7 #include <stdlib.h> |
8 #include <string.h> | |
1 | 9 |
10 #define BUF_SIZE 10 | |
11 | |
12 int main(int argc, char *argv[]) | |
13 { | |
14 int fd; | |
15 FILE *f; | |
16 int res,x; | |
17 char buf[BUF_SIZE]; | |
1094
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
18 char file[256]; |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
19 int offset = 0, cnt; |
1 | 20 |
1797
6fa4f028d226
[gaim-migrate @ 1807]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1094
diff
changeset
|
21 if (argc != 3) { |
1798 | 22 fprintf(stderr, "Too few arguments! Are you using gmake? If you're not, then you really should. :-) \n"); |
1797
6fa4f028d226
[gaim-migrate @ 1807]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1094
diff
changeset
|
23 exit(1); |
6fa4f028d226
[gaim-migrate @ 1807]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1094
diff
changeset
|
24 } |
6fa4f028d226
[gaim-migrate @ 1807]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1094
diff
changeset
|
25 |
1 | 26 fd = open(argv[1], O_RDONLY); |
27 if (fd < 0) { | |
28 perror("open"); | |
29 exit(1); | |
30 } | |
31 f = fopen(argv[2], "w+"); | |
32 if (!f) { | |
33 perror("fopen"); | |
34 exit(1); | |
35 } | |
36 argv[1][strlen(argv[1])-3]='\0'; | |
1094
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
37 cnt = strlen(argv[1]); |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
38 while (offset != cnt) { |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
39 if (argv[1][cnt - offset] == '/') { |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
40 offset--; |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
41 break; |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
42 } |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
43 offset++; |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
44 } |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
45 sprintf(file, "%s", &argv[1][cnt - offset]); |
3deadbe50737
[gaim-migrate @ 1104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
469
diff
changeset
|
46 fprintf(f, "static unsigned char %s[] = {\n", file); |
1 | 47 read(fd, buf, 8); /* id & offset */ |
48 read(fd, buf, 8); /* len & encoding */ | |
49 read(fd, buf, 8); /* rate & count */ | |
50 /* no more click :) */ | |
51 | |
52 while((res = read(fd, buf, BUF_SIZE)) > 0) { | |
53 for (x=0;x<res;x++) | |
54 fprintf(f, "%#x, ", buf[x] & 0xff); | |
55 fprintf(f, "\n"); | |
56 } | |
57 fprintf(f,"};\n"); | |
10 | 58 fclose(f); |
1 | 59 return 0; |
60 } |