Mercurial > pidgin.yaz
view sounds/au2h.c @ 2349:60c716c32c40
[gaim-migrate @ 2362]
(Names changed to protect the innocent.)
blue:~/gaim/app/src $ ls -l ~/.gaim/logs/mid.log
-rw-r--r-- 1 eric eric 607043 Sep 20 03:28 /home/eric/.gaim/logs/mid.log
Previously on my 1.4GHz Athlon, displaying this 600k log file in the Log Viewer took 42 seconds:
time start: 1001157353
time end : 1001157395
Now, with the new smiley checker, it takes 23:
time start: 1001157199
time end : 1001157222
That's still horrible, but it's only a little more than half the time it previously took.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 22 Sep 2001 11:22:59 +0000 |
parents | 5ed382006539 |
children |
line wrap: on
line source
#include <stdio.h> #if !(__GLIBC__ < 2) #include <error.h> #endif #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #define BUF_SIZE 10 int main(int argc, char *argv[]) { int fd; FILE *f; int res,x; char buf[BUF_SIZE]; char file[256]; int offset = 0, cnt; if (argc != 3) { fprintf(stderr, "Too few arguments! Are you using gmake? If you're not, then you really should. :-) \n"); exit(1); } fd = open(argv[1], O_RDONLY); if (fd < 0) { perror("open"); exit(1); } f = fopen(argv[2], "w+"); if (!f) { perror("fopen"); exit(1); } argv[1][strlen(argv[1])-3]='\0'; cnt = strlen(argv[1]); while (offset != cnt) { if (argv[1][cnt - offset] == '/') { offset--; break; } offset++; } sprintf(file, "%s", &argv[1][cnt - offset]); fprintf(f, "static unsigned char %s[] = {\n", file); read(fd, buf, 8); /* id & offset */ read(fd, buf, 8); /* len & encoding */ read(fd, buf, 8); /* rate & count */ /* no more click :) */ while((res = read(fd, buf, BUF_SIZE)) > 0) { for (x=0;x<res;x++) fprintf(f, "%#x, ", buf[x] & 0xff); fprintf(f, "\n"); } fprintf(f,"};\n"); fclose(f); return 0; }