char *nameRoom(int i) { char *bufferA, *bufferB, character, *roomDescription[9]; int bufferSize = DEFAULT_BUFFER_SIZE, roomNumber = 0, bufferStrlen; FILE *rooms; rooms = fopen("rooms.txt", "r"); bufferA = memset(malloc(bufferSize * sizeof(char)),' ',1); do { if (strlen(bufferA) >= (bufferSize - 1)) { bufferB = bufferA; bufferSize *= 2; bufferA = memset(malloc(bufferSize * sizeof(char)),' ',1); strcpy(bufferA,bufferB); free(bufferB); } if (((character = fgetc(rooms)) != EOF) && (character != DELIMETER)) { bufferStrlen = strlen(bufferA); bufferA[bufferStrlen] = character; bufferA[bufferStrlen + 1]='\0'; } else { roomDescription[roomNumber] = malloc(sizeof(bufferA + 1) * sizeof(char)); roomDescription[roomNumber] = bufferA; bufferSize = DEFAULT_BUFFER_SIZE; bufferA = memset(malloc(bufferSize * sizeof(char)),' ',1); roomNumber++; if (roomNumber >= 8) return roomDescription[i]; } } while (!ferror(rooms)); return roomDescription[i]; }