no message
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@636 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
66a5c65075
commit
0581c8c85a
2 changed files with 0 additions and 147 deletions
|
@ -1,65 +0,0 @@
|
|||
#include <Windows.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "nlf.h"
|
||||
|
||||
char SkipComments(FILE *f) {
|
||||
char c;
|
||||
while (c = fgetc(f))
|
||||
if (c == '#' || c == ';') {
|
||||
while (c = fgetc(f))
|
||||
if (c == '\n') break;
|
||||
}
|
||||
else break;
|
||||
return c;
|
||||
}
|
||||
|
||||
// NSIS Language File parser
|
||||
NLF::NLF(char *filename) {
|
||||
FILE *f = fopen(filename, "r");
|
||||
if (!f) throw runtime_error("Can't open language file!");
|
||||
|
||||
char buf[1024];
|
||||
buf[0] = SkipComments(f);
|
||||
fgets(buf+1, 1024, f);
|
||||
|
||||
// Check header
|
||||
if (strncmp(buf, "NLF v", 5)) throw runtime_error("Invalid language file!");
|
||||
if (atoi(buf+5) != NLF_VERSION) throw runtime_error("Language file version doesn't match NSIS version!");
|
||||
|
||||
// Get language ID
|
||||
buf[0] = SkipComments(f);
|
||||
fgets(buf+1, 1024, f);
|
||||
m_wLangId = atoi(buf);
|
||||
|
||||
// Read strings
|
||||
for (int i = 0; i < NLF_STRINGS; i++) {
|
||||
buf[0] = SkipComments(f);
|
||||
fgets(buf+1, 1024, f);
|
||||
if (lstrlen(buf) == 1023) {
|
||||
wsprintf(buf, "String too long (string #%d)!", i);
|
||||
throw runtime_error(buf);
|
||||
}
|
||||
StrTrim(buf, "\r\n\0");
|
||||
m_szStrings[i] = new char[lstrlen(buf)+1];
|
||||
lstrcpy(m_szStrings[i], buf);
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
NLF::~NLF() {
|
||||
MessageBox(0, "destructor", "info", MB_OK);
|
||||
for (int i = 0; i < NLF_STRINGS; i++) {
|
||||
delete [] m_szStrings[i];
|
||||
}
|
||||
}
|
||||
|
||||
WORD NLF::GetLang() {
|
||||
return m_wLangId;
|
||||
}
|
||||
|
||||
char* NLF::GetString(int idx) {
|
||||
if (idx < 0 || idx >= NLF_STRINGS) return 0;
|
||||
return m_szStrings[idx];
|
||||
}
|
82
Source/nlf.h
82
Source/nlf.h
|
@ -1,82 +0,0 @@
|
|||
#ifndef ___NLF___H_____
|
||||
#define ___NLF___H_____
|
||||
|
||||
#include <StdExcept>
|
||||
using namespace std;
|
||||
|
||||
#define NLF_VERSION 1
|
||||
#define NLF_STRINGS 57
|
||||
|
||||
#define NLF_BRANDING 0
|
||||
#define NLF_CAPTION 1
|
||||
#define NLF_UPCATION 2
|
||||
#define NLF_SUBCAPTION_LICENSE 3
|
||||
#define NLF_SUBCAPTION_OPTIONS 4
|
||||
#define NLF_SUBCAPTION_DIR 5
|
||||
#define NLF_SUBCAPTION_INSTFILES 6
|
||||
#define NLF_SUBCAPTION_COMPLETED 7
|
||||
#define NLF_USUBCAPTION_CONFIRM 8
|
||||
#define NLF_USUBCAPTION_INSTFILES 9
|
||||
#define NLF_USUBCAPTION_COMPLETED 10
|
||||
#define NLF_BTN_NEXT 11
|
||||
#define NLF_BTN_BACK 12
|
||||
#define NLF_BTN_AGREE 13
|
||||
#define NLF_BTN_INSTALL 14
|
||||
#define NLF_BTN_UNINSTALL 15
|
||||
#define NLF_BTN_CANCEL 16
|
||||
#define NLF_BTN_CLOSE 17
|
||||
#define NLF_BTN_BROWSE 18
|
||||
#define NLF_BTN_DETAILS 19
|
||||
#define NLF_DEF_NAME 20
|
||||
#define NLF_COMPLETED 21
|
||||
#define NLF_COMP_CUSTOM 22
|
||||
#define NLF_COMP_SUBTEXT1_NO_INST_TYPES 23
|
||||
#define NLF_COMP_SUBTEXT1 24
|
||||
#define NLF_COMP_SUBTEXT2 25
|
||||
#define NLF_DIR_SUBTEXT 26
|
||||
#define NLF_SPACE_AVAIL 27
|
||||
#define NLF_SPACE_REQ 28
|
||||
#define NLF_UNINST_SUBTEXT 29
|
||||
#define NLF_FILE_ERROR 30
|
||||
#define NLF_VERIFY 31
|
||||
#define NLF_CANT_WRITE 32
|
||||
#define NLF_COPY_FAILED 33
|
||||
#define NLF_COPY_TO 34
|
||||
#define NLF_SYMBOL_NOT_FOUND 35
|
||||
#define NLF_COULD_NOT_LOAD 36
|
||||
#define NLF_CREATE_DIR 37
|
||||
#define NLF_CREATE_SHORTCUT 38
|
||||
#define NLF_CREATED_UNINST 39
|
||||
#define NLF_DEL_FILE 40
|
||||
#define NLF_DEL_ON_REBOOT 41
|
||||
#define NLF_ERR_CREATING_SHORTCUT 42
|
||||
#define NLF_ERR_CREATING 43
|
||||
#define NLF_ERR_DECOMPRESSING 44
|
||||
#define NLF_ERR_REG_DLL 45
|
||||
#define NLF_EXEC_SHELL 46
|
||||
#define NLF_EXEC 47
|
||||
#define NLF_EXTRACT 48
|
||||
#define NLF_ERR_WRITING 49
|
||||
#define NLF_INST_CORRUPTED 50
|
||||
#define NLF_NO_OLE 51
|
||||
#define NLF_OUTPUT_DIR 52
|
||||
#define NLF_REMOVE_DIR 53
|
||||
#define NLF_RENAME_ON_REBOOT 54
|
||||
#define NLF_RENAME 55
|
||||
#define NLF_SKIPPED 56
|
||||
|
||||
// NSIS Language File parser
|
||||
class NLF {
|
||||
public:
|
||||
NLF(char *filename);
|
||||
~NLF();
|
||||
|
||||
WORD GetLang();
|
||||
char* GetString(int idx);
|
||||
|
||||
private:
|
||||
WORD m_wLangId;
|
||||
char *m_szStrings[NLF_STRINGS];
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue