// ギルドデータのセーブ用 int inter_guild_save_sub(DBKey key,void *data,va_list ap) { char line[16384]; FILE *fp; inter_guild_tostr(line,(struct guild *)data); fp=va_arg(ap,FILE *); fprintf(fp,"%s" RETCODE,line); return 0; }
// ギルドデ??のセ?ブ int inter_guild_save() { FILE *fp; int lock; DBIterator* iter; struct guild* g; struct guild_castle* gc; // save guild data if ((fp = lock_fopen(guild_txt, &lock)) == NULL) { ShowError("int_guild: can't write [%s] !!! data is lost !!!\n", guild_txt); return 1; } iter = guild_db->iterator(guild_db); for( g = (struct guild*)iter->first(iter,NULL); iter->exists(iter); g = (struct guild*)iter->next(iter,NULL) ) { char line[16384]; inter_guild_tostr(line, g); fprintf(fp, "%s\n", line); } iter->destroy(iter); // fprintf(fp, "%d\t%%newid%%\n", guild_newid); lock_fclose(fp, guild_txt, &lock); // save castle data if ((fp = lock_fopen(castle_txt,&lock)) == NULL) { ShowError("int_guild: can't write [%s] !!! data is lost !!!\n", castle_txt); return 1; } iter = castle_db->iterator(castle_db); for( gc = (struct guild_castle*)iter->first(iter,NULL); iter->exists(iter); gc = (struct guild_castle*)iter->next(iter,NULL) ) { char line[16384]; inter_guildcastle_tostr(line, gc); fprintf(fp, "%s\n", line); } iter->destroy(iter); lock_fclose(fp, castle_txt, &lock); return 0; }