Justin Adler wrote: > void append_to_file (char *line, char *filename) { > ... > fprintf (file, line); // ***** CRASH HERE Please, never do this anymore. The second argument of fprintf IS NOT a char pointer pointing to the string to write. It is a FORMAT STRING saying HOW the FOLLOWING arguments will be written. Unless you know precisely the contents of the second argument (mostly a character string constant directely written there), you should not do this. It's ok to use things like fprintf(file, "hi"); because the format string is in front of your eyes, and you see that there is no "%" sign in it, so it will print exactely what you want. You should use either: fprintf(file, "%s", line); or fputs(line, file); /* preferably IMO */ I should also suggest you to use const on both parameters of your function (append_to_file), and to remove the line saying "return;", once it is unecessary. -- Juliano Ravasi Ferraz <jferraz@linkway.com.br> Linux User #164664 The guy who writes all those bumper stickers HATES New York. -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT