Tue, 26 Sep 2006 17:38:09 +0000
[gaim-migrate @ 17356]
After the comments on gaim-devel about 'bad' code, I looked into the function referenced. It appears that yahoo_buddy_icon_upload_connected() is only called as a callback. It's registered from yahoo_buddy_icon_upload(). yahoo_buddy_icon_upload() is only called twice. In neither case can a NULL make it down to yahoo_buddy_icon_upload_connected(). As this is an exceptional case rather than a normal one, a g_return_if_fail() is more appropriate. That adds logging, makes the intent clearer, and will help the Coverity software detect violations of this assumption.
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZSendRawList function. * * Created by: John T. Kohl * * Copyright (c) 1988 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include "internal.h" #if 0 Code_t ZSendRawList(notice, list, nitems) ZNotice_t *notice; char *list[]; int nitems; { return(ZSrvSendRawList(notice, list, nitems, Z_XmitFragment)); } Code_t ZSrvSendRawList(notice, list, nitems, send_routine) ZNotice_t *notice; char *list[]; int nitems; Code_t (*send_routine)(); { Code_t retval; ZNotice_t newnotice; char *buffer; int len; if ((retval = ZFormatRawNoticeList(notice, list, nitems, &buffer, &len)) != ZERR_NONE) return (retval); if ((retval = ZParseNotice(buffer, len, &newnotice)) != ZERR_NONE) return (retval); retval = Z_SendFragmentedNotice(&newnotice, len, NULL, send_routine); free(buffer); return (retval); } #endif