[iso] Syslinux support improvements

* Allow the use of vanilla Syslinux by creating a /syslinux.cfg
  that references isolinux.cfg
* Fix #40 and #42
* Workaround for #44 by search and replace of ISO label in .cfg
* ISO9660 Joliet fixes
This commit is contained in:
Pete Batard 2012-02-21 00:08:31 +00:00
parent 3e51ed7160
commit f5939d18ab
6 changed files with 259 additions and 208 deletions

View file

@ -145,7 +145,9 @@ typedef struct {
/* ISO details that the application may want */
typedef struct {
char label[64];
char label[192]; /* 3*64 to account for UTF-8 */
char usb_label[192]; /* converted USB label for workaround */
char cfg_path[128]; /* path to the ISO's isolinux.cfg */
uint64_t projected_size;
BOOL has_4GB_file;
BOOL has_bootmgr;
@ -204,9 +206,8 @@ __inline static BOOL UnlockDrive(HANDLE hDrive)
/* Basic String Array */
typedef struct {
char** Table;
size_t Size;
size_t Index;
size_t Max;
size_t Index; // Current array size
size_t Max; // Maximum array size
} StrArray;
extern void StrArrayCreate(StrArray* arr, size_t initial_size);
extern void StrArrayAdd(StrArray* arr, const char* str);