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

gEDA-cvs: CVS update: x_menus.c



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

  Modified:    .        x_menus.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.47                 eda/geda/gaf/gschem/src/x_menus.c
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: x_menus.c
  ===================================================================
  RCS file: /home/cvspsrv/cvsroot/eda/geda/gaf/gschem/src/x_menus.c,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -b -r1.46 -r1.47
  --- x_menus.c	9 Jun 2007 15:14:08 -0000	1.46
  +++ x_menus.c	9 Jun 2007 16:09:38 -0000	1.47
  @@ -377,7 +377,7 @@
      FILE *fp;
      gboolean ret = FALSE;
   
  -   fp = fopen(filename, "w");
  +   fp = fopen(filename, "wb");
      if(fp == NULL)
         return FALSE;
   
  
  
  


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