Cool. It's great the behavior will be the same on XP and POSIX.
I get the following warning (treated as an error):

cc -DPD -O2 -fPIC -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -I../../../../pd/src -o comport.o -c comport.c
cc1: warnings being treated as errors
comport.c: In function 'write_serials':
comport.c:1017: warning: comparison between signed and unsigned

It works if I replace line 1017 with:
if (result != (int)buf_length)

Tom