diff --git a/src/.msvc/rufus.vcxproj b/src/.msvc/rufus.vcxproj
index b35a6ee3..b5d85c16 100644
--- a/src/.msvc/rufus.vcxproj
+++ b/src/.msvc/rufus.vcxproj
@@ -169,7 +169,7 @@
-
+
@@ -186,7 +186,7 @@
-
+
diff --git a/src/.msvc/rufus.vcxproj.filters b/src/.msvc/rufus.vcxproj.filters
index 242e73fa..97c26e7d 100644
--- a/src/.msvc/rufus.vcxproj.filters
+++ b/src/.msvc/rufus.vcxproj.filters
@@ -60,7 +60,7 @@
Source Files
-
+
Source Files
@@ -104,7 +104,7 @@
Header Files
-
+
Header Files
diff --git a/src/.msvc/rufus_sources b/src/.msvc/rufus_sources
index c359e75c..f95c1bcc 100644
--- a/src/.msvc/rufus_sources
+++ b/src/.msvc/rufus_sources
@@ -36,6 +36,7 @@ SOURCES=rufus.c \
stdlg.c \
icon.c \
parser.c \
+ localization.c \
net.c \
iso.c \
dos.c \
diff --git a/src/Makefile.am b/src/Makefile.am
index decd2f84..2fbb05e5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -9,7 +9,7 @@ pkg_v_rc_0 = @echo " RC $@";
%_rc.o: %.rc
$(pkg_v_rc)$(WINDRES) $(AM_RCFLAGS) -i $< -o $@
-rufus_SOURCES = drive.c icon.c parser.c iso.c net.c dos.c dos_locale.c badblocks.c syslinux.c vhd.c format.c stdio.c stdfn.c stdlg.c rufus.c
+rufus_SOURCES = drive.c icon.c parser.c localization.c iso.c net.c dos.c dos_locale.c badblocks.c syslinux.c vhd.c format.c stdio.c stdfn.c stdlg.c rufus.c
rufus_CFLAGS = -I./ms-sys/inc -I./syslinux/libfat -I./syslinux/libinstaller -I./libcdio $(AM_CFLAGS)
rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows
rufus_LDADD = rufus_rc.o ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a \
diff --git a/src/Makefile.in b/src/Makefile.in
index 04bef641..46003ead 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -44,12 +44,13 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_rufus_OBJECTS = rufus-drive.$(OBJEXT) rufus-icon.$(OBJEXT) \
- rufus-parser.$(OBJEXT) rufus-iso.$(OBJEXT) rufus-net.$(OBJEXT) \
- rufus-dos.$(OBJEXT) rufus-dos_locale.$(OBJEXT) \
- rufus-badblocks.$(OBJEXT) rufus-syslinux.$(OBJEXT) \
- rufus-vhd.$(OBJEXT) rufus-format.$(OBJEXT) \
- rufus-stdio.$(OBJEXT) rufus-stdfn.$(OBJEXT) \
- rufus-stdlg.$(OBJEXT) rufus-rufus.$(OBJEXT)
+ rufus-parser.$(OBJEXT) rufus-localization.$(OBJEXT) \
+ rufus-iso.$(OBJEXT) rufus-net.$(OBJEXT) rufus-dos.$(OBJEXT) \
+ rufus-dos_locale.$(OBJEXT) rufus-badblocks.$(OBJEXT) \
+ rufus-syslinux.$(OBJEXT) rufus-vhd.$(OBJEXT) \
+ rufus-format.$(OBJEXT) rufus-stdio.$(OBJEXT) \
+ rufus-stdfn.$(OBJEXT) rufus-stdlg.$(OBJEXT) \
+ rufus-rufus.$(OBJEXT)
rufus_OBJECTS = $(am_rufus_OBJECTS)
rufus_DEPENDENCIES = rufus_rc.o ms-sys/libmssys.a \
syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a \
@@ -184,7 +185,7 @@ SUBDIRS = ms-sys syslinux/libfat syslinux/libinstaller libcdio/iso9660 libcdio/u
pkg_v_rc = $(pkg_v_rc_$(V))
pkg_v_rc_ = $(pkg_v_rc_$(AM_DEFAULT_VERBOSITY))
pkg_v_rc_0 = @echo " RC $@";
-rufus_SOURCES = drive.c icon.c parser.c iso.c net.c dos.c dos_locale.c badblocks.c syslinux.c vhd.c format.c stdio.c stdfn.c stdlg.c rufus.c
+rufus_SOURCES = drive.c icon.c parser.c localization.c iso.c net.c dos.c dos_locale.c badblocks.c syslinux.c vhd.c format.c stdio.c stdfn.c stdlg.c rufus.c
rufus_CFLAGS = -I./ms-sys/inc -I./syslinux/libfat -I./syslinux/libinstaller -I./libcdio $(AM_CFLAGS)
rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows
rufus_LDADD = rufus_rc.o ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a \
@@ -269,6 +270,14 @@ rufus-parser.obj: parser.c
$(AM_V_CC) @AM_BACKSLASH@
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rufus_CFLAGS) $(CFLAGS) -c -o rufus-parser.obj `if test -f 'parser.c'; then $(CYGPATH_W) 'parser.c'; else $(CYGPATH_W) '$(srcdir)/parser.c'; fi`
+rufus-localization.o: localization.c
+ $(AM_V_CC) @AM_BACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rufus_CFLAGS) $(CFLAGS) -c -o rufus-localization.o `test -f 'localization.c' || echo '$(srcdir)/'`localization.c
+
+rufus-localization.obj: localization.c
+ $(AM_V_CC) @AM_BACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rufus_CFLAGS) $(CFLAGS) -c -o rufus-localization.obj `if test -f 'localization.c'; then $(CYGPATH_W) 'localization.c'; else $(CYGPATH_W) '$(srcdir)/localization.c'; fi`
+
rufus-iso.o: iso.c
$(AM_V_CC) @AM_BACKSLASH@
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rufus_CFLAGS) $(CFLAGS) -c -o rufus-iso.o `test -f 'iso.c' || echo '$(srcdir)/'`iso.c
diff --git a/src/locale.c b/src/localization.c
similarity index 99%
rename from src/locale.c
rename to src/localization.c
index 876c1bf1..759c13af 100644
--- a/src/locale.c
+++ b/src/localization.c
@@ -31,7 +31,7 @@
#include "rufus.h"
#include "resource.h"
#include "msapi_utf8.h"
-#include "locale.h"
+#include "localization.h"
#define LOC_CTRL(x) { #x, x }
diff --git a/src/locale.h b/src/localization.h
similarity index 100%
rename from src/locale.h
rename to src/localization.h
diff --git a/src/parser.c b/src/parser.c
index 2d086aea..d908f97f 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -33,7 +33,7 @@
#include "rufus.h"
#include "msapi_utf8.h"
-#include "locale.h"
+#include "localization.h"
static const wchar_t wspace[] = L" \t";
@@ -74,9 +74,9 @@ static loc_cmd* get_loc_cmd(wchar_t wc, wchar_t* wline) {
}
r = i;
// locate ending quote
- while ((wline[i] != 0) && (wline[i] != L'"') || ((wline[i] == L'"') && (wline[i-1] == L'\\'))) {
+ while ((wline[i] != 0) && ((wline[i] != L'"') || ((wline[i] == L'"') && (wline[i-1] == L'\\')))) {
if ((wline[i] == L'"') && (wline[i-1] == L'\\')) {
- wcscpy_s(&wline[i-1], i+wcslen(&wline[i]), &wline[i]);
+ wcscpy(&wline[i-1], &wline[i]);
} else {
i++;
}
@@ -126,8 +126,8 @@ static void* get_loc_data_line(wchar_t* wline)
size_t i = 0;
wchar_t t;
loc_cmd* lcmd = NULL;
- char* locale = "en-US";
- BOOL seek_locale = TRUE;
+// char* locale = "en-US";
+// BOOL seek_locale = TRUE;
if ((wline == NULL) || (wline[0] == 0))
return NULL;
@@ -164,12 +164,12 @@ static __inline void *_reallocf(void *ptr, size_t size)
// Parse a Rufus localization command file (ANSI, UTF-8 or UTF-16)
char* get_loc_data_file(const char* filename)
{
- wchar_t *wdata= NULL, *wfilename = NULL, *wbuf = NULL;
+ wchar_t *wfilename = NULL, *wbuf = NULL;
size_t wbufsize = 1024; // size in wchar_t
FILE* fd = NULL;
char *ret = NULL;
size_t i = 0;
- int r, line_nr_incr = 1;
+ int r = 0, line_nr_incr = 1;
wchar_t wc = 0, last_wc;
BOOL eol = FALSE;