#include #include #include #include "rdb.h" FILE *fp = NULL; static record *pR = NULL; int readRecord() { char buf[MAX_STR]; if (!pR) { pR = (record *) malloc(sizeof(record)); pR->firstName = (char *) malloc(MAX_STR); pR->middleInitial = (char *) malloc(MAX_STR); pR->lastName = (char *) malloc(MAX_STR); pR->location = (char *) malloc(MAX_STR); } if (!fgets(buf, MAX_STR - 1, fp)) return (0); if (sscanf(buf, "%s%s%s%d%s", pR->firstName, pR->middleInitial, pR->lastName, &(pR->phone), pR->location) != 5) return (0); return (1); } record * firstname_key_1(name) char **name; { return ((record *) pR); } record * lastname_key_1(name) char **name; { if (!(fp = fopen(DATABASE, "r"))) return ((record *) NULL); while (readRecord()) if (!strcmp(pR->lastName, *name)) break; if feof (fp) { fclose(fp); return ((record *) NULL); } fclose(fp); return ((record *) pR); } record * phone_key_1(name) char **name; { return ((record *) pR); } record * location_key_1(name) char **name; { return ((record *) pR); } int * add_record_1(r) record *r; { static int status; return ((int *) &status); }