On Mon, 29 May 2006, Jimmy Huang wrote:
> During the manual patching, some of the original calls
> to mfprintf remained commented out. So here is the
> patch to fix this.

This appears to be a bugs in darcs.  Those changes were made in the patch
robotd-fixes1.dpatch, then rolled back.  darcs should have undone all the
changes.  Maybe this is why James didn't apply my mprintf fix along with all my
other robot fixes, because that file didn't get rolled back.

robotd-fixes1.dpatch changed these files:
$ darcs diff -p '^robotd-fixes1.dpatch$' | grep diff
diff -rN -u old-netrek-server/Vanilla/robotd/assault.c new-netrek-server/Vanilla/robotd/assault.c
diff -rN -u old-netrek-server/Vanilla/robotd/decide.c new-netrek-server/Vanilla/robotd/decide.c
diff -rN -u old-netrek-server/Vanilla/robotd/main.c new-netrek-server/Vanilla/robotd/main.c
diff -rN -u old-netrek-server/Vanilla/robotd/shmem.c new-netrek-server/Vanilla/robotd/shmem.c
diff -rN -u old-netrek-server/Vanilla/robotd/socket.c new-netrek-server/Vanilla/robotd/socket.c
diff -rN -u old-netrek-server/Vanilla/robotd/update_players.c new-netrek-server/Vanilla/robotd/update_players.c
diff -rN -u old-netrek-server/Vanilla/robotd/util.c new-netrek-server/Vanilla/robotd/util.c

Then the rollback only changed these files:
$ darcs diff -p '^UNDO: robotd-fixes1.dpatch$' | grep diff
diff -rN -u old-netrek-server/Vanilla/robotd/assault.c new-netrek-server/Vanilla/robotd/assault.c
diff -rN -u old-netrek-server/Vanilla/robotd/decide.c new-netrek-server/Vanilla/robotd/decide.c
diff -rN -u old-netrek-server/Vanilla/robotd/shmem.c new-netrek-server/Vanilla/robotd/shmem.c
diff -rN -u old-netrek-server/Vanilla/robotd/update_players.c new-netrek-server/Vanilla/robotd/update_players.c

The changes to robotd/util.c, robotd/socket.c, and robotd/main.c didn't get
undone at all.  Some of the other files are missing changes too.  The first patch
changed update_players at lines
@@ -142,11 +142,13 @@
@@ -277,7 +279,8 @@
@@ -1091,7 +1094,8 @@
@@ -1349,7 +1353,7 @@

The undo patch only undid code at:
@@ -1094,8 +1094,7 @@
@@ -1353,7 +1352,7 @@

The problem isn't just here.  My robot fixes that I sent to James don't appear
to have been applied correctly.
$ darcs diff -p '^fix use of un-initialized variable$'
  * fix use of un-initialized variable
  Fix a warning about a un-initialized use of pldist in update_players().
  It didn't matter, but fix the warning anyway.

No diff!  The patch shows up as being there, but it's just blank!  Same with
this one:

$ darcs diff -p 'fix mfprintf()'
  * fix mfprintf()
  When mfprintf() was changed from varargs to stdarg, it wasn't done
  correctly.  Fix this.

blank!

Please, switch to Mercurial, darcs doesn't work!