* Made debug output in _init() less ambiguous.
#!/bin/bash
+NAME="$(basename "$0")"
if [ $# -lt 2 ] ; then
- echo "Usage: fbind address command [command_args]"
+ echo "Usage: $NAME address [-d] command [command_args]"
exit 1
fi
-SO="fbind64dbg.so"
-if [ "$(basename "$0")" == "bind32" ] ; then
- SO="fbind32dbg.so"
-fi
-PFX=$(dirname $(realpath "$0"))
ADR="$1"
shift
-BIND_ADDR="$ADR" LD_PRELOAD="$PFX/$SO" $*
+PLD="fbind64"
+if [ "$NAME" == "fbind32" ] ; then
+ PLD="fbind32"
+fi
+if [ "$1" == "-d" ] ; then
+ PLD="$PLD"d
+ shift
+fi
+PFX=$(dirname $(realpath "$0"))
+PLD="$PFX/$PLD.so"
+
+BIND_ADDR="$ADR" LD_PRELOAD="$PLD" $*
local_sockaddr_in->sin_family = AF_INET;
local_sockaddr_in->sin_addr.s_addr = bind_addr_saddr;
local_sockaddr_in->sin_port = htons(0);
- DBGPRINT("_init: %s:%d\n", inet_ntoa(local_sockaddr_in->sin_addr), ntohs(local_sockaddr_in->sin_port));
+ DBGPRINT("_init: bind_addr=%s:%d\n", inet_ntoa(local_sockaddr_in->sin_addr), ntohs(local_sockaddr_in->sin_port));
}
}