i am trying to write a database for my books
burt when i want to read from a file into my linked list
it breaks everything up in words
the file looks like this
stevens
network programming
second
1-123-456
maddison
good
stevens
tcp/ip illustrated
second
0-123-456
maddison
good
i use fscanf
i tried to replace it with fread and fgets but no succes
here is the code of my print fuctions

Code:
struct dbline{
	char author[BUFSIZE];
	char title[BUFSIZE];
	char edition[BUFSIZE];
	char isbn[10];
	char publisher[BUFSIZE];
	char comment[BUFSIZE];
       	struct dbline *next_rec;
};

typedef struct dbline LIST;
typedef LIST *LINK;



FILE *open_file_to_read(FILE *fp ,char *filename)
{
	if((fp = fopen(filename ,"r")) == NULL)
	{
		fprintf(stderr ,"error opening file");
		exit(-1);
	}
	return fp;
}

LINK read_to_list(FILE *fpr, LINK first)
{
	LIST tmp_rec ;
	LINK new_rec = NULL;
	LINK cur_rec = NULL;
	while(fscanf(fpr, "%s\n%s\n%s\n%s\n%s\n%s\n", tmp_rec.author, tmp_rec.title, tmp_rec.edition, tmp_rec.isbn ,tmp_rec.publisher, tmp_rec.comment)!= EOF)
	{
		new_rec = (LINK) malloc(sizeof(LIST));
		*new_rec = tmp_rec;
		if (cur_rec == NULL)
		{
			cur_rec = new_rec;
			first = new_rec;
		}
		else
		{
			cur_rec->next_rec = new_rec;
			cur_rec=new_rec;
		}

		new_rec->next_rec = NULL;
	}
	return first;
}

void print_all(LINK first)
{
	LINK cur_rec = NULL;
	cur_rec = first;
	while (cur_rec != NULL)
	{
		printf("\nauthor:	%s", cur_rec->author);
		printf("\ntitle:	%s", cur_rec->title);
		printf("\nedition:	%s", cur_rec->edition);
		printf("\nisbn:		%s", cur_rec->isbn);
		printf("\npublisher:	%s", cur_rec->publisher);
		printf("\ncomment:	%s", cur_rec->comment);
		cur_rec = cur_rec->next_rec;
	}
there are more functions i think these are the ones
messing things up
can anybody tell me what i am doing wrong