Esempio n. 1
0
static void write_symbols(const char *symbols)
{
    FILE *file;

    if (!strcmp(symbols,"-"))
	file = stdout;
    else {
	file = fopen(symbols,"w");
	if (!file) {
	    perror(symbols);
	    exit(1);
	}
    }
    write_ids(file);
    /* assume "write_ids" doesn't do any other system calls */
    if (ferror(file)) {
	perror(symbols);
	exit(1);
    }
    if (file != stdout)
	if (fclose(file) == EOF) {
	    perror(symbols);
	    exit(1);
	}
}
Esempio n. 2
0
void			WED_Select::ToDB(sqlite3 * db)
{
	WED_Thing::ToDB(db);

	int err;
	sql_command	nuke_all(db,"DELETE FROM WED_selection where id=@id;","@id");
	sql_row1<int>	me(GetID());
	err = nuke_all.simple_exec(me);
	if(err != SQLITE_DONE)		WED_ThrowPrintf("%s (%d)",sqlite3_errmsg(db),err);

	if (!mSelected.empty())
	{
		sql_command write_ids(db,"INSERT INTO WED_selection(id,item) VALUES(@id,@item);","@id,@item");
		for (set<int>::iterator i = mSelected.begin(); i != mSelected.end(); ++i)
		{
			sql_row2<int, int>	id(GetID(),*i);
			err = write_ids.simple_exec(id);
			if(err != SQLITE_DONE)		WED_ThrowPrintf("%s (%d)",sqlite3_errmsg(db),err);
		}
	}
}