--- alpine-0.999/pith/state.h 2007/08/08 18:35:37 1.1 +++ alpine-0.999/pith/state.h 2007/08/08 18:36:06 @@ -98,8 +98,8 @@ SP_S s_pool; /* stream pool */ char inbox_name[MAXFOLDER+1]; - char pine_pre_vers[10]; /* highest version previously run */ - char vers_internal[10]; + char pine_pre_vers[20]; /* highest version previously run */ + char vers_internal[20]; MAILSTREAM *mail_stream; /* ptr to current folder stream */ MSGNO_S *msgmap; /* ptr to current message map */ --- alpine-0.999/pith/conf.c 2007/08/08 18:27:29 1.1 +++ alpine-0.999/pith/conf.c 2007/08/08 18:34:59 @@ -2330,9 +2330,14 @@ && ps->vers_internal[1] == '.' && isdigit((unsigned char)ps->vers_internal[2]) && isdigit((unsigned char)ps->vers_internal[3]) - && isalpha((unsigned char)ps->vers_internal[4]) - && strncmp(VAR_LAST_VERS_USED, ps->vers_internal, 4) >= 0)){ + && isdigit((unsigned char)ps->vers_internal[4]) + && ps->vers_internal[5] == '-' + && strncmp(VAR_LAST_VERS_USED, ps->vers_internal, 5) >= 0)){ ps->show_new_version = 0; + /* But if the version string changed at all, update config */ + if (strcmp(VAR_LAST_VERS_USED, ps->vers_internal)) + set_variable(V_LAST_VERS_USED, ps->vers_internal, 1, 1, + ps_global->ew_for_except_vars); } /* Otherwise just do lexicographic comparision... */ else if(VAR_LAST_VERS_USED