X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Futil.c;h=7af8a1cb017ddbe73d1e58e8482f2ce0baf0c97b;hb=refs%2Fheads%2Fmaster;hp=e8b221acba01c78783b1e7a5bfcdf7546f99eede;hpb=82aed0c41cd917fdf9cdb20db788fe9da0662eba;p=sympathy.git diff --git a/src/util.c b/src/util.c index e8b221a..7af8a1c 100644 --- a/src/util.c +++ b/src/util.c @@ -1,15 +1,33 @@ -/* +/* * 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 *** + * + * Revision 1.6 2008/02/27 00:54:16 james + * *** empty log message *** + * * Revision 1.5 2008/02/24 00:42:53 james * *** empty log message *** * @@ -35,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; @@ -139,3 +159,51 @@ client_termios (struct termios *termios) cfsetispeed (termios, B9600); cfsetospeed (termios, B9600); } + +int +fput_cp (FILE * f, uint32_t ch) +{ + char buf[4]; + int i; + i = utf8_encode (buf, ch); + + if (!i) + return 0; + + 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; +}