[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: CVS update: f_export.c



  User: cnieves 
  Date: 07/06/09 12:09:36

  Modified:    .        f_export.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.3                  eda/geda/gaf/gattrib/src/f_export.c
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: f_export.c
  ===================================================================
  RCS file: /home/cvspsrv/cvsroot/eda/geda/gaf/gattrib/src/f_export.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- f_export.c	16 Apr 2007 11:57:50 -0000	1.2
  +++ f_export.c	9 Jun 2007 16:09:36 -0000	1.3
  @@ -74,7 +74,7 @@
   #ifdef DEBUG
     printf("In f_export_components, trying to open %s.\n", filename);
   #endif
  -  fp = fopen(filename, "w");
  +  fp = fopen(filename, "wb");
     if (fp == NULL) {
       s_log_message("o_save: Could not open [%s]\n", filename);
       /* XXXXX Throw up error message  in window */
  
  
  


_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs