#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

/* Cercare un carattere in una stringa */

int main(int argc, char **argv){
	pid_t pid;
	/* Credo il nuovo processo */
	char *string=argv[1]; /* Stringa */
	char c=argv[2][0]; /* Carattere */
	int len=strlen(string);
	int i;
	pid=fork();
	if (pid==0) {
		printf("Processo figlio: %d; il padre e' %d\n", 
			getpid(), getppid());
		
		for(i=0; i<len/2; i++)
			if (string[i]==c) exit(1);
		exit(0);
	} else {
		int status=0;
		printf("Processo padre: %d; il figlio e' %d\n", 
			getpid(), pid);
		printf("Stato del figlio: %d\n", status/256);

		for(i=len/2; i<len; i++)
			if (string[i]==c) {
				printf("Carattere trovato dal padre\n");
			}

		wait(&status);
		if (status/256==1) {
			printf("Carattere trovato dal figlio\n");
		} else
			printf("Carattere non trovato\n");
	}
}
