Mercurial > pidgin
view src/protocols/zephyr/ZFmtList.c @ 9451:7b56b8ba3dff
[gaim-migrate @ 10275]
This fixes bug 984612, which is a duplicate of some other bug.
It html escapes msn friendly names so they don't contain html or
invalid markup, and not display all the way in "foo closed the conversation
window" type messages.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Mon, 05 Jul 2004 19:11:09 +0000 (2004-07-05) |
parents | 43d6c08d7e96 |
children | 64895571248f |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZFormatNoticeList function. * * Created by: Robert French * * $Source$ * $Author: chipx86 $ * * Copyright (c) 1987,1991 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ /* $Header$ */ #include "internal.h" #ifndef lint static const char rcsid_ZFormatNoticeList_c[] = "$Id: ZFmtList.c 9554 2004-04-24 09:02:28Z chipx86 $"; #endif Code_t ZFormatNoticeList(notice, list, nitems, buffer, ret_len, cert_routine) ZNotice_t *notice; register char **list; int nitems; char **buffer; int *ret_len; Z_AuthProc cert_routine; { char header[Z_MAXHEADERLEN]; register int i; int hdrlen, size; char *ptr; Code_t retval; if ((retval = Z_FormatHeader(notice, header, sizeof(header), &hdrlen, cert_routine)) != ZERR_NONE) return (retval); size = 0; for (i=0;i<nitems;i++) size += strlen(list[i])+1; *ret_len = hdrlen+size; /* *ret_len can never be zero here, no need to worry about malloc(0). */ if (!(*buffer = (char *) malloc((unsigned)*ret_len))) return (ENOMEM); (void) memcpy(*buffer, header, hdrlen); ptr = *buffer+hdrlen; for (;nitems;nitems--, list++) { i = strlen(*list)+1; (void) memcpy(ptr, *list, i); ptr += i; } return (ZERR_NONE); }