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

gEDA-cvs: CVS update: a_basic.c



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

  Modified:    .        a_basic.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.26                 eda/geda/gaf/libgeda/src/a_basic.c
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: a_basic.c
  ===================================================================
  RCS file: /home/cvspsrv/cvsroot/eda/geda/gaf/libgeda/src/a_basic.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -b -r1.25 -r1.26
  --- a_basic.c	28 May 2007 07:37:49 -0000	1.25
  +++ a_basic.c	9 Jun 2007 16:09:40 -0000	1.26
  @@ -174,7 +174,7 @@
     char *out;
     int already_wrote=0;
   	
  -  fp = fopen(filename, "w");
  +  fp = fopen(filename, "wb");
   	
     if (fp == NULL) {
       s_log_message("o_save: Could not open [%s]\n", filename);
  
  
  


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