[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