From: Manu <ma...@wa...> - 2002-11-10 03:52:45
|
Jos=E9 Fonseca wrote: > On Sat, Nov 09, 2002 at 09:35:04PM +0800, Luke Dunstan wrote: > > No, what Jose means is that when you are opening a file in C, you sho= uld > > use text mode if the input/output is human readable (e.g. a shell scr= ipt, > > or the input of grep/sed) and binary mode otherwise (e.g. object file= s, > > executables). When porting software such as grep, it should be simple > > because files are normally opened in text mode by default (with fopen= "r" > > or "w"). However, if you were to port something like "od", you'd prob= ably > > want to patch it to open files in binary mode. > > Although Luke has described very well my words, there is one more detai= l > which ones has to consider when looking at my patches. It is that > usually I opted to have the stdio and output as binary. The reason was > that at the time that was needed to avoid breaking configure scripts, > especially because some of the ports I was using were taken from the > mingw-selfhost which only worked in binary mode. > > But since now there is already MSYS for configure scripts I defend that > default should be exactly what Luke said above, which is more intuitive > for a native user. > > This means, e.g. looking at the sed diff, > http://mefriss1.swan.ac.uk/~jfonseca/gnu-win32/software/ported/patches/= sed-3.02-mingw32.diff > , the > > unsigned int _CRT_fmode =3D _O_BINARY > > should be controlled by the env. var and off by default. > Very good info. Thank you. > It's crucial to get utilities that to text processing, such as sed, dif= f > and patch, to behave exactly as we want to in all situations. Otherwise > they will fail miserably. Having a environment variable to control it > seems a good [and probably the only] way to achieve that. I will (try to :) implement this. I think diff and patch could be a very good starting point for experimentation. I have already build patch 2.5.4, using a diff file posted on mingw-msys by Prof Abimbola Olowofoyeku (2002-03-09). The patch includes two bug fixes, this is why I used this one, but I've a= lso studied your diff Jos=E9. (I downloaded all your diffs when you mentioned these. one trillion thank= s ;) I have also a patch for diffutils-2.8.1. This one was posted to the MinGW patches. (2002-09-17) I'm glad to see that the humble mingw-ports project permits to share knowledge and to collect patches that could be lost through the immensity of the WWW. To be continued.... Manu. |