/* * This is sample code generated by rpcgen. * These are only templates and you can use them * as a guideline for developing your own functions. */ #include "phonebook.h" #include #include //phonebookEntry myphonebook[50]; //int i=0; int * add_1_svc(phonebookEntry *argp, struct svc_req *rqstp) { static int result; /* * insert server code here */ FILE* fp; fp=fopen("phonebook.dat","a+"); /*strcat(myphonebook[i].name,argp->name); strcat(myphonebook[i].name,"\0"); strcat(myphonebook[i].number,argp->number); strcat(myphonebook[i].number,"\0");*/ fprintf(fp,"%s;%s\n",argp->name,argp->number); printf("%s;%s\n",argp->name,argp->number); //printf("Added: %s %s\n",myphonebook[i].name,myphonebook[i].number); //i++; fclose(fp); return &result; } str_number * search_1_svc(str_name *argp, struct svc_req *rqstp) { static str_number result; static str_name aktName; static str_number aktNumber; char temp[80]; int n=0; /* * insert server code here */ strcat(result.number,"-1"); printf("search string: %s\n",argp->name); /*for (n=0;nname,myphonebook[n].name) == 0) { strcpy(result.number,myphonebook[n].number); break; } }*/ FILE *fp; fp=fopen("phonebook.dat","r"); while(!feof(fp)) { strcpy(temp,"\0"); strcpy(aktName.name,"\0"); strcpy(aktNumber.number,"\0"); fscanf(fp,"%s",&temp); printf("Read from file: %s ",temp); strcat(aktName.name,strtok(temp,";")); strcat(aktName.name,"\0"); strcat(aktNumber.number,strtok(NULL,";")); strcat(aktNumber.number,"\0"); //printf("actual entry: %s\n",myphonebook[n].name); printf("actual entry: %s %s\n",aktName.name,aktNumber.number); if(strcmp(aktName.name,argp->name) == 0) { strcpy(result.number,aktNumber.number); fclose(fp); return &result; } } strcpy(result.number,"-1"); fclose(fp); return &result; }