/* 1 Make the necessary includes and set up the variables: */ #include #include #include #include #include #include int read_a_line( int sock, char *line ) { int i = 0; char l; while(i < 100) { read(sock, &l, 1); if(l < ' ') { int j; for(j = i; j < 100; j++) { line[j] = ' '; } return i; } else { line[i] = l; } i++; } return i; } int read_socket_(int *client_sockfd, char *junkstring[100]) { int i,j; char linein[100]; /* while(1) { printf("MOSFLM starting to read\n"); read(*client_sockfd, linein, 100); if(strcmp(linein, "") == 0) { close(*client_sockfd); exit(0); } printf("MOSFLM got: %s\n", linein); write(*client_sockfd, linein, 100); } */ read_a_line(*client_sockfd, linein); /* for (i=0;i<100;i++){ if(linein[i] == '\0'){ printf(""); } else if(linein[i] == ' '){ printf(""); } else if(linein[i] == '\n'){ printf(""); } else { printf("%c",linein[i]); } } */ if(linein[0]=='&') /* close socket if string starts with '&' */ { printf("C Server will close connection\n"); write(*client_sockfd, "C Server closing connection\n", 100); close(*client_sockfd); return 1; } memset(junkstring, 32, 100); strcpy(junkstring, linein); return 0; }