Mercurial > hg > index.cgi
comparison lwasm/pseudo.c @ 349:b62af915c2cc
Fix includebin to use binary mode when emitting the contents of the file.
For systems with the stupid distinction between binary and text files (I'm
looking at you Windows), actually specify binary mode when reading the
include file for a binary include.
It worked fine on Linux and other Unix-like systems which treat files as
a simple sequence of bytes but on Windows, you get the benefit of 0x1A
causing an EOF signal with text mode files which is not helpful.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sun, 12 Apr 2015 12:11:19 -0600 |
parents | cb24ffb23f7c |
children | f318407d2469 |
comparison
equal
deleted
inserted
replaced
348:379ef4e08dd2 | 349:b62af915c2cc |
---|---|
1370 EMITFUNC(pseudo_emit_includebin) | 1370 EMITFUNC(pseudo_emit_includebin) |
1371 { | 1371 { |
1372 FILE *fp; | 1372 FILE *fp; |
1373 int c; | 1373 int c; |
1374 | 1374 |
1375 fp = fopen(l -> lstr, "r"); | 1375 fp = fopen(l -> lstr, "rb"); |
1376 if (!fp) | 1376 if (!fp) |
1377 { | 1377 { |
1378 lwasm_register_error(as, l, "Cannot open file (emit)!"); | 1378 lwasm_register_error(as, l, "Cannot open file (emit)!"); |
1379 return; | 1379 return; |
1380 } | 1380 } |