//--------------------------------------------------------- // 倉庫データを書き込む int inter_guild_storage_save() { struct DBIterator* iter; struct guild_storage* data; FILE *fp; int lock; if( (fp=lock_fopen(guild_storage_txt,&lock))==NULL ){ ShowError("int_storage: can't write [%s] !!! data is lost !!!\n",guild_storage_txt); return 1; } iter = guild_storage_db->iterator(guild_storage_db); for( data = (struct guild_storage*)iter->first(iter,NULL); iter->exists(iter); data = (struct guild_storage*)iter->next(iter,NULL) ) { char line[65536]; if(inter_guild_search(data->guild_id) != NULL) { guild_storage_tostr(line,data); if(*line) fprintf(fp,"%s\n",line); } } iter->destroy(iter); lock_fclose(fp,guild_storage_txt,&lock); return 0; }
int inter_guild_storage_save_sub(DBKey key,void *data,va_list ap) { char line[65536]; FILE *fp; if(inter_guild_search(((struct guild_storage *)data)->guild_id) != NULL) { guild_storage_tostr(line,(struct guild_storage *)data); fp=va_arg(ap,FILE *); if(*line) fprintf(fp,"%s" RETCODE,line); }