- if (port_number == 0) {
- lprintf(1, "citserver: illegal port number specified\n");
- return(-1);
+ if (is_unix) {
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ sprintf(addr.sun_path, USOCKPATH, 0-port_number);
+ }
+ else {
+ memset(&sin, 0, sizeof(sin));
+ sin.sin_family = AF_INET;
+ sin.sin_addr.s_addr = INADDR_ANY;
+ sin.sin_port = htons((u_short)port_number);
+ }
+
+ if (is_unix) {
+ s = socket(AF_UNIX, SOCK_STREAM, 0);
+ }
+ else {
+ s = socket(PF_INET, SOCK_STREAM,
+ (getprotobyname("tcp")->p_proto));