view src/protocols/zephyr/error_message.c @ 9387:bcdf6a530d41

[gaim-migrate @ 10195] (20:11:29) nosnilmot: s/To/Too/ in Chip's news entry :) (20:11:44) LSchiere: no, i'm not changing that one. he can fix his own grammer and spelling ;-) (20:11:53) LSchiere: then someone besides me can have spelling mistakes on file (20:11:55) nosnilmot: but he had to go... :) (20:11:58) SimGuy: LSchiere: I think you had a spelling error (20:12:04) LSchiere: see? someone has to keep me company (20:12:05) SimGuy: unless someone told you already (20:12:09) LSchiere: nope (20:12:32) SimGuy: s/writters/writers/ (20:12:38) LSchiere: *sigh* (20:12:56) nosnilmot: SimGuy: I don't know about you, but I'd be happy as a writter (20:13:16) aatharuv: LSchiere: oh, also s/Zepher/Zephyr/ :-) (20:13:23) nosnilmot: oh yeah, that too :) (20:13:24) LSchiere: where is that? (20:13:26) SimGuy: yeah, but I didn't contribute anything meaningful, so I don't get to be a writter, therefore I must take the honor from you (20:13:29) nosnilmot: ChangeLog (20:13:32) LSchiere: oh committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Fri, 25 Jun 2004 00:15:37 +0000
parents 347e456550e6
children 64895571248f
line wrap: on
line source

/*
 * $Header$
 * $Source$
 * $Locker$
 *
 * 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 "mit-sipb-copyright.h"
#include "com_err.h"
#include <sysdep.h>

static const char rcsid[] =
    "$Header$";
static const char copyright[] =
    "Copyright 1986, 1987, 1988 by the Student Information Processing Board\nand the department of Information Systems\nof the Massachusetts Institute of Technology";

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);
}