first off, snippet not meant production code. please, no lecturing "being unsafe." thanks! so, following code part of parser takes in csv , uses populate sqlite3 db. when compiled , ran in snow leopard, worked fine. i've switched lion, scanf statement throws bus error: 10. specifically, seems have how consuming , discarding '\n' @ end of each line: int main() { sqlite3* db; sqlite3_open("someexistingdb.sqlite3", &db); file *pfile; pfile = fopen("exceldata.csv","r"); char name[256],country[256], last[256], first[256], photouri[256]; char sqlstatement[16384]; while(fscanf(pfile, "%[^,],%[^,],%[^,],%[^,],%[^\n]%*c", name, country, last,first, photouri) != eof) { blah... ... if remove last %*c, meant consume '\n' , ignore advance next line, program not crash. of course incorrect parsing. also, mind you, eof doesn't seem problem; i'e tried single fscanf statement in...