diff --git a/includes/defines.h b/includes/defines.h index c22180f1d..95302fad4 100644 --- a/includes/defines.h +++ b/includes/defines.h @@ -7,8 +7,8 @@ #define PATH_SEP "/" #endif -#define SAVE_VERSION 45 -#define MINOR_VERSION 2 +#define SAVE_VERSION 46 +#define MINOR_VERSION 0 #define IDENT_VERSION "G" //Change this if you're not Simon! It should be a single letter. //#define BETA diff --git a/src/interface.c b/src/interface.c index 112fef437..5940e6ead 100644 --- a/src/interface.c +++ b/src/interface.c @@ -867,11 +867,19 @@ void login_ui(pixel *vid_buf) if (res && !strncmp(res, "OK ", 3)) { char *s_id,*u_e,*nres; + printf("\n{%s}\n", res); s_id = strchr(res+3, ' '); + if (!s_id) + goto fail; *(s_id++) = 0; u_e = strchr(s_id, ' '); - *(u_e++) = 0; + if (!u_e){ + u_e = malloc(1); + memset(u_e, 0, 1); + } + else + *(u_e++) = 0; strcpy(svf_user_id, res+3); strcpy(svf_session_id, s_id); diff --git a/src/powder.c b/src/powder.c index b2932d151..6cafdb651 100644 --- a/src/powder.c +++ b/src/powder.c @@ -577,7 +577,7 @@ inline int create_part(int p, int x, int y, int t) if (t==PT_SPRK) { - if (!((pmap[y][x]&0xFF)==PT_INST||(ptypes[pmap[y][x]&0xFF].properties&PROP_CONDUCTS))) + if ((pmap[y][x]>>8)>=NPART || !((pmap[y][x]&0xFF)==PT_INST||(ptypes[pmap[y][x]&0xFF].properties&PROP_CONDUCTS))) return -1; if (parts[pmap[y][x]>>8].life!=0) return -1;