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 ZGetWGPort function. * * Created by: Robert French * * Copyright (c) 1987 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include "internal.h" int ZGetWGPort() { char *envptr, name[128]; FILE *fp; int wgport; #ifdef WIN32 long int buffsize= 128; char tempdir[buffsize]; #endif envptr = getenv("WGFILE"); if (!envptr) { #ifdef WIN32 GetTempPath(buffsize,tempdir); GetTempFileName(tempdir,"wg.",0,name); #else (void) sprintf(name, "/tmp/wg.%d", getuid()); #endif envptr = name; } if (!(fp = fopen(envptr, "r"))) return (-1); /* if fscanf fails, return -1 via wgport */ if (fscanf(fp, "%d", &wgport) != 1) wgport = -1; (void) fclose(fp); return (wgport); }