[comp.sources.games.bugs] Sokoban read/write bug

ber@astbe.UUCP (H.Bernau) (04/26/89)

I received some mail from Marty Ryba (mfryba@phoenix.princeton.edu). Because
our local sendmail doesn't understand his net adress and the problem he
describes seems to be general, I am posting instead of replying via mail.

Marty wrote:
> Hi,
>   I am trying to get sokoban working on my "generic Unix" (like SysV with
> BSD extensions) system, and I have run into a strange problem.  The program
> makes fine, but when I run it, it thinks for a few seconds, and then returns,
> w/o a error message or anything.  The -c option works (it created sok.score)
> but the game won't start!  Any ideas?

The problem could be the read/write calls in score.c. They are of the form
    read/write( fileno, &variable, constant)
where constant means the length of `variable' in bytes. Wherever there is a
constant in those calls (I assumed 2 for the length of short) there should be
    read/write( fileno, &variable, sizeof( variable))
so that there are no machine dependencises anymore. If it doesn't work with
these updates give me some more information (especially the exit status).

Unfortunatly I have no time to make and post a patch so you are on your own.


-------------------------------------------------------------------------------
|   Rolf Bernau               |
|   GEI Software Technik mbH  |  Berlin:             astbe!ber
|   Hohenzollerndamm 150      |  USA:                ...!pyramid!tub!astbe!ber
|   1000 Berlin 33            |
|   West-Germany              |
-------------------------------------------------------------------------------