[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-cvs: CVS update: mk_verilog_syms.c
User: cnieves
Date: 07/06/09 12:09:36
Modified: . mk_verilog_syms.c
Log:
Avoid writting '\r' to files on MinGW.
Applied patch #1733826 from Cesar Strauss. Thanks.
When using the "w" mode in fopen, MinGW translates LF into CR-LF.
This creates havoc when reading the same file again, when sharing
schematics files with other systems, and when placing them in a VCS.
This can be avoided by using the "wb" mode. The "b" is ignored on
all POSIX conforming systems, according to these sources:
http://www.die.net/doc/linux/man/man3/fopen.3.html
http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html
There are other ways, however. Adding
#include <fcntl.h>
int _fmode = _O_BINARY;
on some source file should work as well. Another way is linking
against the MinGW supplied binmode.o, which does exactly that.
Revision Changes Path
1.8 eda/geda/gaf/gnetlist/utils/mk_verilog_syms.c
(In the diff below, changes in quantity of whitespace are not shown.)
Index: mk_verilog_syms.c
===================================================================
RCS file: /home/cvspsrv/cvsroot/eda/geda/gaf/gnetlist/utils/mk_verilog_syms.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- mk_verilog_syms.c 22 Dec 2006 02:50:24 -0000 1.7
+++ mk_verilog_syms.c 9 Jun 2007 16:09:36 -0000 1.8
@@ -110,7 +110,7 @@
sprintf(name, "sym/%s%u-%u.sym",
generate[i].name, j, generate[i].suffix);
printf("Working on:%s\n",name);
- fp = fopen(name, "w");
+ fp = fopen(name, "wb");
if(fp == NULL)
{
fprintf(stderr,"Error: Unable to create file `%s' in %s()\n",
_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs