/* Go through the hash list, deleting keys we stored in it */
- HashPos = GetNewHashPos();
+ HashPos = GetNewHashPos(keys, 0);
while (GetNextHashPos(keys, HashPos, &len, &Key, &Value)!=0)
{
CtdlLogPrintf(CTDL_DEBUG, "Deleting associated OpenID <%s>\n", Value);
/* Only save the vCard if there is some useful data in it */
if (pop > 0) {
- char temp[PATH_MAX];
- FILE *fp;
char *ser;
-
- CtdlMakeTempFileName(temp, sizeof temp);
ser = vcard_serialize(v);
if (ser) {
- fp = fopen(temp, "w");
- if (fp) {
- fwrite(ser, strlen(ser), 1, fp);
- fclose(fp);
- CtdlWriteObject(USERCONFIGROOM, "text/x-vcard", temp, &CC->user, 0, 0, 0);
- unlink(temp);
- }
+ CtdlWriteObject(USERCONFIGROOM, "text/x-vcard",
+ ser, strlen(ser)+1, &CC->user, 0, 0, 0
+ );
free(ser);
}
}