diff --git a/iso.sh b/iso.sh
new file mode 100644
index 00000000..d3643bd7
--- /dev/null
+++ b/iso.sh
@@ -0,0 +1,2 @@
+#/bin/sh
+gcc -g -Wall -DISO_TEST -Isrc/libcdio -oiso.exe src/iso.c src/libcdio/udf/libudf.a src/libcdio/iso9660/libiso9660.a src/libcdio/driver/libdriver.a
\ No newline at end of file
diff --git a/iso.sln b/iso.sln
new file mode 100644
index 00000000..2441517d
--- /dev/null
+++ b/iso.sln
@@ -0,0 +1,56 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iso", "src\.msvc\iso.vcxproj", "{497905B7-EBD7-4D98-B58F-3CB0A24B1D14}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdio-iso9660", "src\libcdio\iso9660\.msvc\iso9660.vcxproj", "{D4E80F35-2604-40AC-B436-97B052ECB572}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdio-udf", "src\libcdio\udf\.msvc\udf.vcxproj", "{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdio-driver", "src\libcdio\driver\.msvc\driver.vcxproj", "{FA1B1093-BA86-410A-B7A0-7A54C605F812}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Debug|Win32.ActiveCfg = Debug|Win32
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Debug|Win32.Build.0 = Debug|Win32
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Debug|x64.ActiveCfg = Debug|x64
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Debug|x64.Build.0 = Debug|x64
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Release|Win32.ActiveCfg = Release|Win32
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Release|Win32.Build.0 = Release|Win32
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Release|x64.ActiveCfg = Release|x64
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}.Release|x64.Build.0 = Release|x64
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Debug|Win32.Build.0 = Debug|Win32
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Debug|x64.ActiveCfg = Debug|x64
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Debug|x64.Build.0 = Debug|x64
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Release|Win32.ActiveCfg = Release|Win32
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Release|Win32.Build.0 = Release|Win32
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Release|x64.ActiveCfg = Release|x64
+ {D4E80F35-2604-40AC-B436-97B052ECB572}.Release|x64.Build.0 = Release|x64
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Debug|Win32.Build.0 = Debug|Win32
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Debug|x64.ActiveCfg = Debug|x64
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Debug|x64.Build.0 = Debug|x64
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|Win32.ActiveCfg = Release|Win32
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|Win32.Build.0 = Release|Win32
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|x64.ActiveCfg = Release|x64
+ {0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|x64.Build.0 = Release|x64
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Debug|Win32.Build.0 = Debug|Win32
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Debug|x64.ActiveCfg = Debug|x64
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Debug|x64.Build.0 = Debug|x64
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|Win32.ActiveCfg = Release|Win32
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|Win32.Build.0 = Release|Win32
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|x64.ActiveCfg = Release|x64
+ {FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/.msvc/iso.vcxproj b/src/.msvc/iso.vcxproj
new file mode 100644
index 00000000..000156e4
--- /dev/null
+++ b/src/.msvc/iso.vcxproj
@@ -0,0 +1,177 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ iso
+ {497905B7-EBD7-4D98-B58F-3CB0A24B1D14}
+ iso
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(SolutionDir)x86_32\$(Configuration)\
+ $(SolutionDir)x86_32\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)x86_32\$(Configuration)\
+ $(SolutionDir)x86_32\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)x86_64\$(Configuration)\
+ $(SolutionDir)x86_64\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)x86_64\$(Configuration)\
+ $(SolutionDir)x86_64\$(Configuration)\$(ProjectName)\
+ false
+ false
+ false
+ false
+
+
+
+
+ ISO_TEST;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+ Level3
+ ..\msvc-missing;..\libcdio;%(AdditionalIncludeDirectories)
+
+
+
+
+ true
+ Console
+ MachineX86
+
+
+ _UNICODE;UNICODE;%(PreprocessorDefinitions)
+
+
+
+
+
+ X64
+
+
+ ..\msvc-missing;..\libcdio;%(AdditionalIncludeDirectories)
+ ISO_TEST;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+ Level3
+ ProgramDatabase
+
+
+
+
+ true
+ Console
+ MachineX64
+
+
+ _UNICODE;UNICODE;%(PreprocessorDefinitions)
+
+
+
+
+
+ ISO_TEST;_CRT_SECURE_NO_WARNINGS;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ..\msvc-missing;..\libcdio;%(AdditionalIncludeDirectories)
+
+
+
+
+ false
+ Console
+ MachineX86
+
+
+ _UNICODE;UNICODE;%(PreprocessorDefinitions)
+
+
+
+
+
+ X64
+
+
+ ISO_TEST;_CRT_SECURE_NO_WARNINGS;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ..\msvc-missing;..\libcdio;%(AdditionalIncludeDirectories)
+
+
+
+
+ false
+ Console
+ MachineX64
+
+
+ _UNICODE;UNICODE;%(PreprocessorDefinitions)
+
+
+
+
+
+
+
+ {fa1b1093-ba86-410a-b7a0-7a54c605f812}
+
+
+ {d4e80f35-2604-40ac-b436-97b052ecb572}
+
+
+ {0cec40a6-a195-4be5-a88b-0ab00eb142ec}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.msvc/iso.vcxproj.filters b/src/.msvc/iso.vcxproj.filters
new file mode 100644
index 00000000..e01da456
--- /dev/null
+++ b/src/.msvc/iso.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/iso.c b/src/iso.c
index 35d84c4a..39ee6a6d 100644
--- a/src/iso.c
+++ b/src/iso.c
@@ -28,7 +28,11 @@
#include
#include
#include
+#ifndef ISO_TEST
#include "rufus.h"
+#else
+#define uprintf(...) printf(__VA_ARGS__)
+#endif
#include
#include
@@ -73,9 +77,9 @@ static udf_dirent_t* list_files(udf_t *p_udf, udf_dirent_t *p_udf_dirent, const
udf_dirent_t *p_udf_dirent2 = udf_opendir(p_udf_dirent);
if (p_udf_dirent2) {
const char *psz_dirname = udf_get_filename(p_udf_dirent);
- const unsigned int i_newlen=2 + safe_strlen(psz_path) + safe_strlen(psz_dirname);
+ const unsigned int i_newlen=2 + strlen(psz_path) + strlen(psz_dirname);
char* psz_newpath = (char*)calloc(sizeof(char), i_newlen);
- safe_sprintf(psz_newpath, i_newlen, "%s%s/", psz_path, psz_dirname);
+ _snprintf(psz_newpath, i_newlen, "%s%s/", psz_path, psz_dirname);
uprintf("psz_newpath = %s\n", psz_newpath);
list_files(p_udf, p_udf_dirent2, psz_newpath);
free(psz_newpath);
@@ -217,3 +221,11 @@ out:
return r;
}
+
+#ifdef ISO_TEST
+int main(int argc, char** argv)
+{
+ ExtractISO("D:\\src\\libcdio\\test\\udf102.iso", NULL);
+ return 0;
+}
+#endif
diff --git a/src/rufus.rc b/src/rufus.rc
index f4510e6c..a7964bd5 100644
--- a/src/rufus.rc
+++ b/src/rufus.rc
@@ -33,7 +33,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 206, 278
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
-CAPTION "Rufus v1.0.7.126"
+CAPTION "Rufus v1.0.7.127"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Start",IDC_START,94,236,50,14
@@ -70,7 +70,7 @@ BEGIN
DEFPUSHBUTTON "OK",IDOK,231,175,50,14,WS_GROUP
CONTROL "http://rufus.akeo.ie",IDC_ABOUT_RUFUS_URL,
"SysLink",WS_TABSTOP,46,47,114,9
- LTEXT "Version 1.0.7 (Build 126)",IDC_STATIC,46,19,78,8
+ LTEXT "Version 1.0.7 (Build 127)",IDC_STATIC,46,19,78,8
PUSHBUTTON "License...",IDC_ABOUT_LICENSE,46,175,50,14,WS_GROUP
EDITTEXT IDC_ABOUT_COPYRIGHTS,46,107,235,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL
LTEXT "Report bugs or request enhancements at:",IDC_STATIC,46,66,187,8
@@ -208,8 +208,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,7,126
- PRODUCTVERSION 1,0,7,126
+ FILEVERSION 1,0,7,127
+ PRODUCTVERSION 1,0,7,127
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -226,13 +226,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "akeo.ie"
VALUE "FileDescription", "Rufus"
- VALUE "FileVersion", "1.0.7.126"
+ VALUE "FileVersion", "1.0.7.127"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus"
- VALUE "ProductVersion", "1.0.7.126"
+ VALUE "ProductVersion", "1.0.7.127"
END
END
BLOCK "VarFileInfo"