Mercurial > pidgin.yaz
view src/protocols/zephyr/ZFmtSmRLst.c @ 4588:2778ebd04b63
[gaim-migrate @ 4872]
Arun A Tharuvai (aat) writes:
"I've fixed the following problems which I ran into
recently.
When subscribing getenv("USER") is used instead of
ZGetSender() , causing subscriptions of the form
class,instance,%me% to fail where a person's Zephyr
username is different from their local username.
Also, it segfaults whenever receiving zephyrs from
senders that have no realm field. e.g. people with
usernames of the form username instead of
username@realmname . "
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Tue, 18 Feb 2003 23:59:28 +0000 |
parents | 424a40f12a6c |
children | 43d6c08d7e96 |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZFormatSmallRawNoticeList function. * * Created by: John T. Kohl * * $Source$ * $Author: warmenhoven $ * * Copyright (c) 1988 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ /* $Header$ */ #ifndef lint static char rcsid_ZFormatRawNoticeList_c[] = "$Header$"; #endif #include <internal.h> Code_t ZFormatSmallRawNoticeList(notice, list, nitems, buffer, ret_len) ZNotice_t *notice; char *list[]; int nitems; ZPacket_t buffer; int *ret_len; { Code_t retval; int hdrlen, i, size; char *ptr; if ((retval = Z_FormatRawHeader(notice, buffer, Z_MAXHEADERLEN, &hdrlen, NULL, NULL)) != ZERR_NONE) return (retval); size = 0; for (i=0;i<nitems;i++) size += strlen(list[i])+1; *ret_len = hdrlen+size; if (*ret_len > Z_MAXPKTLEN) return (ZERR_PKTLEN); ptr = buffer+hdrlen; for (;nitems;nitems--, list++) { i = strlen(*list)+1; (void) memcpy(ptr, *list, i); ptr += i; } return (ZERR_NONE); }