Mercurial > pidgin
view src/protocols/zephyr/error_message.c @ 13253:87a7c3077c19
[gaim-migrate @ 15619]
More cleaning up of oscar. Renamed some functions to be more clear.
Got rid of some stuff that wasn't used. Inlined some small things
in conn.c that were only used once.
The goals of all this are
1. Non-blocking I/O for all connections
2. p2p stuff won't use the same struct as oscar connections, because
that's stupid
3. The oscar PRPL should be less scary
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 12 Feb 2006 21:27:04 +0000 |
parents | 64895571248f |
children |
line wrap: on
line source
/* * Copyright 1987 by the Student Information Processing Board * of the Massachusetts Institute of Technology * * For copyright info, see "mit-sipb-copyright.h". */ #include "error_table.h" #include "com_err.h" #include <sysdep.h> char *error_table_name_r __P((int, char *)); struct et_list * _et_list = (struct et_list *) NULL; const char * error_message (code) long code; { static char buf[COM_ERR_BUF_LEN]; return(error_message_r(code, buf)); } const char * error_message_r (code, buf) long code; char *buf; { int offset; struct et_list *et; int table_num; int started = 0; char *cp, namebuf[6]; offset = code & ((1<<ERRCODE_RANGE)-1); table_num = code - offset; if (!table_num) return strerror(offset); for (et = _et_list; et; et = et->next) { if (et->table->base == table_num) { /* This is the right table */ if (et->table->n_msgs <= offset) break; return(et->table->msgs[offset]); } } strcpy (buf, "Unknown code "); if (table_num) { strcat (buf, error_table_name_r (table_num, namebuf)); strcat (buf, " "); } for (cp = buf; *cp; cp++) ; if (offset >= 100) { *cp++ = '0' + offset / 100; offset %= 100; started++; } if (started || offset >= 10) { *cp++ = '0' + offset / 10; offset %= 10; } *cp++ = '0' + offset; *cp = '\0'; return(buf); }