- Fixed SpaceText none

- Fixed a crash that occured if LicenseData was not used and Page license was


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2910 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2003-09-12 21:40:33 +00:00
parent a488b62950
commit 103b31643e
3 changed files with 15 additions and 1 deletions

View file

@ -81,6 +81,9 @@ CEXEBuild::CEXEBuild()
}
#endif // NSIS_CONFIG_UNINSTALL_SUPPORT
extern const char *NSIS_VERSION;
definedlist.add("NSIS_VERSION", NSIS_VERSION);
#define intdef2str_(x) #x
#define intdef2str(x) intdef2str_(x)
definedlist.add("NSIS_MAX_INST_TYPES", intdef2str(NSIS_MAX_INST_TYPES));

View file

@ -586,6 +586,14 @@ void CEXEBuild::FillLanguageTable(LanguageTable *table) {
continue;
#endif
else if (i == NLF_SPACE_REQ || i == NLF_SPACE_AVAIL)
{
if (no_space_texts)
{
continue;
}
}
int sn, index;
int pos = build_langstrings.get(NLFStrings[i].szLangStringName, &sn, &index);
if (pos >= 0) {
@ -597,6 +605,8 @@ void CEXEBuild::FillLanguageTable(LanguageTable *table) {
}
else {
char *dstr = table->nlf.m_szStrings[i] ? table->nlf.m_szStrings[i] : NLFStrings[i].szDefault;
if (!dstr)
continue;
if (i == NLF_BRANDING) {
char temp[NSIS_MAX_STRLEN + sizeof(NSIS_VERSION)];
sprintf(temp, dstr, NSIS_VERSION);

View file

@ -2277,7 +2277,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
// define LANG_LangName as "####" (lang id)
// for example ${LANG_ENGLISH} = 1033
char lang_id[16];
char lang_name[128];
char lang_name[1024];
wsprintf(lang_name, "LANG_%s", table->nlf.m_szName);
wsprintf(lang_id, "%u", table->lang_id);
definedlist.add(lang_name, lang_id);
@ -2846,6 +2846,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
SCRIPT_MSG("SpaceTexts: none\n");
}
else {
no_space_texts=false;
SetInnerString(NLF_SPACE_REQ,line.gettoken_str(1));
SetInnerString(NLF_SPACE_AVAIL,line.gettoken_str(2));
SCRIPT_MSG("SpaceTexts: required=\"%s\" available=\"%s\"\n",line.gettoken_str(1),line.gettoken_str(2));