build.sh needs to use exit not return. reduceToOneString() in wpp needs to use memmove() not strcpy() to "collapse" the string without string corruption. This would also explain why I kept getting weird compile errors with xobjs/wcexcept.obj when compiling

using return causes bash to print a warning. "return" is only valid in subroutines. we're exiting with an error code from the "main" level of the script, use "exit" instead.