X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Futil.c;h=7af8a1cb017ddbe73d1e58e8482f2ce0baf0c97b;hb=32762931a77913e0363cc909df40f7e91c1d8406;hp=91cb58b2ccfd850bb52b35e9c1761720f9c53e7b;hpb=8a3aac5f5287422699c9c7c5ee8969561da7317f;p=sympathy.git diff --git a/src/util.c b/src/util.c index 91cb58b..7af8a1c 100644 --- a/src/util.c +++ b/src/util.c @@ -1,15 +1,27 @@ -/* +/* * util.c: * - * Copyright (c) 2008 James McKenzie , + * Copyright (c) 2008 James McKenzie , * All rights reserved. * */ -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: util.c,v 1.11 2008/03/07 14:13:40 james Exp $"; -/* - * $Log$ +/* + * $Log: util.c,v $ + * Revision 1.11 2008/03/07 14:13:40 james + * *** empty log message *** + * + * Revision 1.10 2008/03/07 13:16:02 james + * *** empty log message *** + * + * Revision 1.9 2008/03/07 12:37:04 james + * *** empty log message *** + * + * Revision 1.8 2008/03/02 10:50:32 staffcvs + * *** empty log message *** + * * Revision 1.7 2008/02/27 01:31:14 james * *** empty log message *** * @@ -41,8 +53,10 @@ wrap_read (int fd, void *buf, int len) int red; red = read (fd, buf, len); +#if 0 if (!red) return -1; +#endif if ((red < 0) && (errno == EAGAIN)) red = 0; @@ -158,3 +172,38 @@ fput_cp (FILE * f, uint32_t ch) return fwrite (buf, i, 1, f); } + +void +crash_out (char *why) +{ + terminal_atexit (); + fprintf (stderr, "sympathy is aborting: %s\n", why ? why : ""); + exit (1); +} + +void * +xmalloc (size_t s) +{ + void *ret = malloc (s); + if (!ret) + crash_out ("malloc failed"); + return ret; +} + +void * +xrealloc (void *p, size_t s) +{ + p = realloc (p, s); + if (!p) + crash_out ("realloc failed"); + return p; +} + +char * +xstrdup (const char *s) +{ + char *ret = strdup (s); + if (!ret) + crash_out ("strdup failed"); + return ret; +}