diff --git a/src/common/kernel/eressea.h b/src/common/kernel/eressea.h index fe2600bc6..cb4d439ec 100644 --- a/src/common/kernel/eressea.h +++ b/src/common/kernel/eressea.h @@ -905,7 +905,8 @@ extern int max_unique_id; #define FFL_RESTART (1<<2) #define FFL_OVERRIDE (1<<27) /* Override-Passwort wurde benutzt */ -#define UFL_WERE (1<<28) +#define FFL_DBENTRY (1<<28) /* Partei ist in Datenbank eingetragen */ +#define UFL_WERE (1<<28) /* Flags, die gespeichert werden sollen: */ #define UFL_SAVEMASK (FL_NOAID | FL_OWNER | FL_PARTEITARNUNG | FL_LOCKED | FL_HUNGER | FL_NOIDLEOUT | FL_TAKEALL | FL_UNNAMED) diff --git a/src/eressea/main.c b/src/eressea/main.c index af1fb4de0..32b21305a 100644 --- a/src/eressea/main.c +++ b/src/eressea/main.c @@ -381,6 +381,10 @@ game_done(void) #include "magic.h" +#if (defined(_MSC_VER)) +# define MALLOCDBG 1 +#endif + #if MALLOCDBG static void init_malloc_debug(void) @@ -578,10 +582,12 @@ typedef struct lostdata { void confirm_newbies(void) { - const faction * f = factions; + faction * f = factions; + if (sqlstream==NULL) return; while (f) { - if (f->age==0) { + if (!fval(f, FFL_DBENTRY)) { fprintf(sqlstream, "UPDATE subscriptions SET status='ACTIVE', faction='%s' WHERE game=%d AND password='%s';\n", itoa36(f->no), GAME_ID, f->passw); + fset(f, FFL_DBENTRY); } f = f->next; }