select_result(sourcefd, (condition == GDK_INPUT_READ ? 1 : condition == GDK_INPUT_WRITE ? 2 : condition == GDK_INPUT_EXCEPTION ? 4 : -1));
if (condition & GDK_INPUT_EXCEPTION) select_result(sourcefd, 4); if (condition & GDK_INPUT_READ) select_result(sourcefd, 1); if (condition & GDK_INPUT_WRITE) select_result(sourcefd, 2);
void fd_input_func(gpointer data, gint sourcefd, GdkInputCondition condition){    select_result(sourcefd,		  (condition == GDK_INPUT_READ ? 1 :		   condition == GDK_INPUT_WRITE ? 2 :		   condition == GDK_INPUT_EXCEPTION ? 4 : -1));}