@Rich: Any chance you have the updated sources available? [July 24, 2016 posts]
I was considering porting to 86x64 when I found this thread and it sounds like you and the crew have already ironed out a good number of potential issues.
From the sources included with "mx-findshares" which look to be ~1.06 via gcc 7.2.0
In file included from packetdata.h:10:0,
from findshares.c:67:
netrshareenum.h:47:31: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
.bytecount=10, .Filename[0]="\\srvsvc" };
^~~~~~~~~~
netrshareenum.h:47:31: note: (near initialization for 'NTcreate.Filename[0]')
netrshareenum.h:47:31: error: initializer element is not computable at load time
netrshareenum.h:47:31: note: (near initialization for 'NTcreate.Filename[0]')
In file included from findshares.c:67:0:
packetdata.h:63:14: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
.string[0]="NT LM 0.12" };
^~~~~~~~~~~~
packetdata.h:63:14: note: (near initialization for 'protocol.string[0]')
packetdata.h:63:14: error: initializer element is not computable at load time
packetdata.h:63:14: note: (near initialization for 'protocol.string[0]')
packetdata.h:102:61: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
.ansipasswordlen=1, .capabilities=0x00000203, .strings[0]="Guest" };
^~~~~~~
packetdata.h:102:61: note: (near initialization for 'setup.strings[0]')
packetdata.h:102:61: error: initializer element is not computable at load time
packetdata.h:102:61: note: (near initialization for 'setup.strings[0]')
packetdata.h:134:65: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
.AndXCommand=0xFF, .passwordlen=1, .bytecount=32, .strings[0]="\\\\" };
^~~~~~
packetdata.h:134:65: note: (near initialization for 'treeconn.strings[0]')
packetdata.h:134:65: error: initializer element is not computable at load time
packetdata.h:134:65: note: (near initialization for 'treeconn.strings[0]')
findshares.c: In function 'Copy':
findshares.c:265:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
if(((int)csrc & -256) != 0) csrc+=(count - 1);
^
findshares.c:271:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
if(((int)csrc & -256) == 0)
^
findshares.c:273:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
*cdest=((int)csrc & 255);
^
findshares.c: In function 'GetShareInfoSMB':
findshares.c:875:6: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
int tmp, timeout=3;
^~~
findshares.c: In function 'ScanInterfaces':
findshares.c:1055:6: warning: variable 's' set but not used [-Wunused-but-set-variable]
int s, ptr=0;
^