--- /dev/null
+--- bin2iso.c 2000-11-04 23:08:02.000000000 +0100
++++ bin2iso.c.wiget 2004-01-30 12:05:54.241985816 +0100
+@@ -1,3 +1,4 @@
++#include <unistd.h>\r
+ #include <stdio.h>\r
+ #include <string.h>\r
+ #include <stdlib.h>\r
+@@ -51,7 +52,7 @@
+ #define UNKNOWN -1\r
+ #define OFFSET 150 \r
+ // got this from easycd pro by looking at a blank disk so it may be off...\r
+-#define CD74_MAX_SECTORS 334873 // 653.75 Mb \r
++#define CD74_MAX_SECTORS 334873L // 653.75 Mb \r
+ \r
+ \r
+ unsigned long int Index(char m, char s, char f)\r
+@@ -111,7 +112,7 @@
+ unsigned long size; /* track size in bytes */\r
+ } tTrack;\r
+ \r
+-buffered_fread(unsigned char *array, unsigned int size) {\r
++int buffered_fread(unsigned char *array, unsigned int size) {\r
+ unsigned int i;\r
+ \r
+ if(INBUF_WIDX == 0) { \r
+@@ -125,7 +126,7 @@
+ array[i] = INBUF[INBUF_RIDX++];\r
+ if((INBUF_RIDX == INBUF_WIDX) && (i < (size -1))) {\r
+ printf(" Warning: Premature EOF\n");\r
+- while(i++ < size) { array[i] == 0; }/* zero fill the rest */\r
++ while(i++ < size) { array[i] = 0; }/* zero fill the rest */\r
+ break;\r
+ }\r
+ }\r
+@@ -142,7 +143,7 @@
+ \r
+ void buffered_fwrite(unsigned char *array, unsigned int size) {\r
+ unsigned int idx;\r
+- unsigned long int readpos;\r
++ unsigned long int readpos = 0;\r
+ \r
+ if(OUTBUF_IDX+size >= OUTBUF_SIZE) { \r
+ \r
+@@ -189,7 +190,7 @@
+ \r
+ void flush_buffers(void)\r
+ {\r
+- unsigned long int readpos;\r
++ unsigned long int readpos = 0;\r
+ \r
+ if(fdOutFile == fdBinFile) {\r
+ readpos = ftell(fdOutFile);\r
+@@ -263,7 +264,7 @@
+ } else if(track->mode == AUDIO) {\r
+ strcat(track->name, ".wav");\r
+ } else {\r
+- printf("Track %d Unsupported mode\n", track->num);\r
++ printf("Track %s Unsupported mode\n", track->num);\r
+ return(1);\r
+ }\r
+ \r
+@@ -279,9 +280,9 @@
+ if (strncmp(&Line[4], "INDEX ", 6)==0) \r
+ {\r
+ strncpy(inum, &Line[10], 2); inum[2] = '\0';\r
+- min = ((Line[13]-'0')<<4) | Line[14]-'0';\r
+- sec = ((Line[16]-'0')<<4) | Line[17]-'0';\r
+- block = ((Line[19]-'0')<<4) | Line[20]-'0';\r
++ min = ((Line[13]-'0')<<4) | (Line[14]-'0');\r
++ sec = ((Line[16]-'0')<<4) | (Line[17]-'0');\r
++ block = ((Line[19]-'0')<<4) | (Line[20]-'0');\r
+ \r
+ \r
+ if(strcmp(inum, "00")==0) track->idx0 = Index(min, sec, block);\r
+@@ -326,14 +327,14 @@
+ \r
+ uiLastIndex = startidx-1;\r
+ // Input -- process -- Output \r
+- if(startidx != 0) printf("\nNote: PreGap = %d frames\n", startidx-preidx);\r
++ if(startidx != 0) printf("\nNote: PreGap = %ld frames\n", startidx-preidx);\r
+ else printf("\nNote: PreGap = %d frames\n", OFFSET); // cd standard: starting offset\r
+ // - of course this isn't true for bootable cd's...\r
+ \r
+ if(sOutFilename[0] != '\0') {\r
+- printf("Creating %s (%06d,%06d) ", sOutFilename, startidx, endidx-1);\r
++ printf("Creating %s (%06ld,%06ld) ", sOutFilename, startidx, endidx-1);\r
+ } else {\r
+- printf("Converting (%06d,%06d) ", startidx, endidx-1);\r
++ printf("Converting (%06ld,%06ld) ", startidx, endidx-1);\r
+ }\r
+ switch(mode)\r
+ {\r
+@@ -412,14 +413,14 @@
+ buffered_fwrite( buf, SIZERAW ); \r
+ uiLastIndex++;\r
+ memset( &buf[0], '\0', sizeof( buf ) );\r
+- if (startidx%PROG_INTERVAL == 0) { printf("\b\b\b\b\b\b%06d", startidx); }\r
++ if (startidx%PROG_INTERVAL == 0) { printf("\b\b\b\b\b\b%06ld", startidx); }\r
+ if (++startidx == endidx) { printf("\b\b\b\b\b\bComplete\n"); break; }\r
+ }\r
+ } else if (mode == MODE1_2048) {\r
+ while( buffered_fread( buf, SIZEISO_MODE1) ) { \r
+ buffered_fwrite( buf, SIZEISO_MODE1 ); \r
+ uiLastIndex++;\r
+- if (startidx%PROG_INTERVAL == 0) { printf("\b\b\b\b\b\b%06d", startidx); }\r
++ if (startidx%PROG_INTERVAL == 0) { printf("\b\b\b\b\b\b%06ld", startidx); }\r
+ if (++startidx == endidx) { printf("\b\b\b\b\b\bComplete\n"); break; }\r
+ }\r
+ } else {\r
+@@ -493,7 +494,7 @@
+ } \r
+ \r
+ memset( &buf[0], '\0', sizeof( buf ) );\r
+- if (startidx%PROG_INTERVAL == 0) { printf("\b\b\b\b\b\b%06d", startidx); }\r
++ if (startidx%PROG_INTERVAL == 0) { printf("\b\b\b\b\b\b%06ld", startidx); }\r
+ if (++startidx == endidx) { printf("\b\b\b\b\b\bComplete\n"); break; }\r
+ }\r
+ }\r
+@@ -601,7 +602,6 @@
+ int i, k;\r
+ unsigned long int j;\r
+ unsigned char buf[SIZERAW];\r
+- int c = 0;\r
+ int writegap = 0;\r
+ short value;\r
+ int count;\r
+@@ -645,7 +645,6 @@
+ /* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ */\r
+ \r
+ int main(int argc, char **argv) {\r
+- unsigned long int count = 0;\r
+ // int printon = 0;\r
+ \r
+ char sLine[256];\r
+@@ -789,7 +788,7 @@
+ // strlwr(sBinFilename);\r
+ \r
+ } else {\r
+- printf ("Error: Filename not found on first line of cuefile.\n", argv[1]);\r
++ printf ("Error: Filename not found on first line of cuefile %s.\n", argv[1]);\r
+ exit (1);\r
+ }\r
+ \r
+@@ -924,7 +923,7 @@
+ \r
+ printf("\n");\r
+ for(i = 0; i <= nTracks-1; i++) {\r
+- printf("%s (%3d Mb) - sectors %06ld:%06ld (offset %09ld:%09ld)\n", \r
++ printf("%s (%3ld Mb) - sectors %06ld:%06ld (offset %09ld:%09ld)\n", \r
+ tracks[i].name, \r
+ tracks[i].size/(1024*1024), \r
+ tracks[i].idx1, \r