[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-gnubg] GNUBg Win32 Index
From: |
Nardy Pillards |
Subject: |
Re: [Bug-gnubg] GNUBg Win32 Index |
Date: |
Fri, 24 Jan 2003 20:20:55 +0100 |
From: "Joern Thyssen" <address@hidden>
Sent: Friday, January 24, 2003 2:21 PM
> On Fri, Jan 24, 2003 at 10:29:59AM +0000, address@hidden wrote
> > Hi,
> >
> > I seem to have a problem with gnu backgammon on Windows (2000) and know
of
> > another person with the same problem.
> >
> > When I go to Analysis then Player Record and try to delete a players
> > records I get the following error:
> >
> > ./.gnubgpr: Permission Denied
> >
> > I have e-mailed Nardy Pillards who suggested I deleted the file above. I
> > did but I still get the same message once I create a new record.
> >
> > I am using 030122 but it has been doing it ever since I started using
this
> > excellent program (about 3 weeks or so).
>
> There are no problems under unix systems. However, for some odd
> reason windows thinks it's not possible to overwrite existing files with
> "rename". For that reason I've added some code that deletes the
> destination file if existing:
>
> record.c:
>
> sprintf( sz, "%s/.gnubgpr", szHomeDirectory );
>
> #ifdef WIN32
> /* experiment */
> if ( unlink ( sz ) && errno != ENOENT ) {
> /* do not complain if file is not found */
> outputerr ( sz );
> free ( pchOut );
> return -1;
> }
> #endif
>
> if( rename( pchOut, sz ) ) {
> outputerr( sz );
> free( pchOut );
> return -1;
> }
>
> free( pchOut );
> return 0;
> }
>
> The question is why this code doesn't work!!
>
> Nardy or Øystein, assuming you can reproduce this problem on your system
> as well, can you insert a few debug outputs:
>
> sprintf( sz, "%s/.gnubgpr", szHomeDirectory );
>
> #ifdef WIN32
> outputf ( "Unlink file '%s'\n", sz );
> /* experiment */
> if ( unlink ( sz ) && errno != ENOENT ) {
> int = errno;
> /* do not complain if file is not found */
> outputerr ( sz );
> outputf ( "error encountered: %d\n", i );
> free ( pchOut );
> return -1;
> }
> #endif
>
> outputf ( "rename '%s' to '%s'\n", pchOut, sz );
> if( rename( pchOut, sz ) ) {
> int i = errno;
> outputerr( sz );
> outputf ( "Error encountered: %d\n", i );
> free( pchOut );
> return -1;
> }
>
> free( pchOut );
> return 0;
> }
>
> Jørn
building it now
(changed first int = errno; to int i = errno;)
nardy
- [Bug-gnubg] GNUBg Win32 Index, dean . barnard, 2003/01/24
- Re: [Bug-gnubg] GNUBg Win32 Index, Joern Thyssen, 2003/01/24
- Re: [Bug-gnubg] GNUBg Win32 Index,
Nardy Pillards <=
- Re: [Bug-gnubg] GNUBg Win32 Index, Nardy Pillards, 2003/01/24
- Re: [Bug-gnubg] GNUBg Win32 Index, Nardy Pillards, 2003/01/24
- Re: [Bug-gnubg] GNUBg Win32 Index, Joern Thyssen, 2003/01/25
- Re: [Bug-gnubg] GNUBg Win32 Index, Nardy Pillards, 2003/01/25
- Re: [Bug-gnubg] GNUBg Win32 Index, Joern Thyssen, 2003/01/25
- Re: [Bug-gnubg] GNUBg Win32 Index, Nardy Pillards, 2003/01/25
Re: [Bug-gnubg] GNUBg Win32 Index, Nardy Pillards, 2003/01/24