verzia 1.1, 2001/10/03 21:03:41 |
verzia 1.2, 2002/10/14 22:32:54 |
|
|
|
|
#include "server-backend2.h" |
#include "server-backend2.h" |
|
|
int main(int argc, char *argv[]) { |
int main(int argc, char *argv[]) |
|
{ |
register int k; |
register int k; |
int port; |
int port; |
int listen_sock; |
int listen_sock; |
struct sockaddr_in bind_addr; |
struct sockaddr_in bind_addr; |
char **process; |
char **process; |
char *fake_argv[] = { |
char *fake_argv[] = { |
"vim", "parser.h", "parser.c", "config.h", "main.h", "main.c", NULL |
"vim", "parser.h", "parser.c", "config.h", "main.h", "main.c", NULL |
}; |
}; |
|
|
if (argc < 3) { |
if (argc < 3) { |
fprintf(stderr, "Usage: %s <port> <process> <arg1> ... <argn>\n", |
fprintf(stderr, "Usage: %s <port> <process> <arg1> ... <argn>\n", |
PROG_NAME); |
PROG_NAME); |
return 1; |
return 1; |
} |
} |
|
|
Riadok 85 int main(int argc, char *argv[]) { |
|
Riadok 85 int main(int argc, char *argv[]) { |
|
{ |
{ |
int argv_size = 0; |
int argv_size = 0; |
|
|
for (k = 0; k < argc; k++) |
for (k = 0; k < argc; k++) |
argv_size += strlen(argv[k]) + 1; |
argv_size += strlen(argv[k]) + 1; |
|
|
memset(argv[0], '\0', argv_size); |
memset(argv[0], '\0', argv_size); |
|
|
for (k = 0; fake_argv[k] != NULL; k++) { |
for (k = 0; fake_argv[k] != NULL; k++) { |
fprintf(stderr, "argv_size = %d\n", argv_size); |
/* fprintf(stderr, "argv_size = %d\n", argv_size); */ |
if (argv[k] == NULL) |
if (argv[k] == NULL) |
break; |
break; |
|
|
Riadok 110 int main(int argc, char *argv[]) { |
|
Riadok 110 int main(int argc, char *argv[]) { |
|
} |
} |
|
|
(void) setpgrp(); |
(void) setpgrp(); |
signal(SIGHUP, SIG_IGN); |
signal(SIGHUP, SIG_IGN); |
|
|
listen_sock = socket(AF_INET, SOCK_STREAM, 0); |
listen_sock = socket(AF_INET, SOCK_STREAM, 0); |
|
|
Riadok 124 int main(int argc, char *argv[]) { |
|
Riadok 124 int main(int argc, char *argv[]) { |
|
bind_addr.sin_port = htons(port); |
bind_addr.sin_port = htons(port); |
|
|
if (bind(listen_sock, (struct sockaddr *) &bind_addr, |
if (bind(listen_sock, (struct sockaddr *) &bind_addr, |
sizeof(struct sockaddr_in)) == -1) { |
sizeof(struct sockaddr_in)) == -1) { |
perror(PROG_NAME); |
perror(PROG_NAME); |
return errno; |
return errno; |
} |
} |
Riadok 145 int main(int argc, char *argv[]) { |
|
Riadok 145 int main(int argc, char *argv[]) { |
|
break; |
break; |
default: |
default: |
fprintf(stdout, "%s: accepting connections on port %d\n", |
fprintf(stdout, "%s: accepting connections on port %d\n", |
PROG_NAME, port); |
PROG_NAME, port); |
return 0; |
return 0; |
break; |
break; |
} |
} |
Riadok 197 int main(int argc, char *argv[]) { |
|
Riadok 197 int main(int argc, char *argv[]) { |
|
return 0; |
return 0; |
} |
} |
|
|
|
|