diff -bc ocrad-0.14/Makefile.in ocrad-0.14.patched/ocrad-0.14/Makefile.in
*** ocrad-0.14/Makefile.in	Thu Feb 16 00:24:08 2006
--- ocrad-0.14.patched/ocrad-0.14/Makefile.in	Mon Aug 14 09:23:48 2006
***************
*** 9,15 ****
  INSTALL_DATA = $(INSTALL) -p -m 644
  SHELL = /bin/sh
  CPPFLAGS =
! CXXFLAGS = -Wall -W -O2
  LDFLAGS =
  
  objs = common.o rational.o rectangle.o track.o ucs.o \
--- 9,15 ----
  INSTALL_DATA = $(INSTALL) -p -m 644
  SHELL = /bin/sh
  CPPFLAGS =
! CXXFLAGS = -Wall -W -O2 -mno-cygwin
  LDFLAGS =
  
  objs = common.o rational.o rectangle.o track.o ucs.o \
diff -bc ocrad-0.14/main.cc ocrad-0.14.patched/ocrad-0.14/main.cc
*** ocrad-0.14/main.cc	Thu Feb 16 00:22:46 2006
--- ocrad-0.14.patched/ocrad-0.14/main.cc	Thu Aug 10 22:39:48 2006
***************
*** 228,234 ****
  void Ocrad::internal_error( const char * msg ) throw()
    {
    char buf[80];
!   std::snprintf( buf, sizeof( buf ), "internal error: %s.\n", msg );
    show_error( buf );
    exit( 3 );
    }
--- 228,234 ----
  void Ocrad::internal_error( const char * msg ) throw()
    {
    char buf[80];
!   snprintf( buf, sizeof( buf ), "internal error: %s.\n", msg );
    show_error( buf );
    exit( 3 );
    }
diff -bc ocrad-0.14/rational.cc ocrad-0.14.patched/ocrad-0.14/rational.cc
*** ocrad-0.14/rational.cc	Fri Jan 27 09:14:26 2006
--- ocrad-0.14.patched/ocrad-0.14/rational.cc	Thu Aug 10 22:38:42 2006
***************
*** 209,215 ****
    bool trunc = false;
    if( prec < 0 ) { trunc = true; prec = -prec; }
  
!   index += std::snprintf( buf, bufsize, "%*d", iwidth, num / den );
    long long rest = std::abs( num ) % den;
    if( index < bufsize - 1 && prec > 0 && ( rest > 0 || !trunc ) )
      {
--- 209,215 ----
    bool trunc = false;
    if( prec < 0 ) { trunc = true; prec = -prec; }
  
!   index += snprintf( buf, bufsize, "%*d", iwidth, num / den );
    long long rest = std::abs( num ) % den;
    if( index < bufsize - 1 && prec > 0 && ( rest > 0 || !trunc ) )
      {
