Establecer una variable condicionalmente si es NULL

Al pasar por unsqlite3_stmt, Me gustaría comprobar contra un valor de retorno deNULL en lugar de almacenarlo y verificar contra el valor almacenado.

Esto es lo que estoy haciendo ahora:

char *email = (char *)sqlite3_column_text(statement, 10);
if (email == NULL) email = "";

Y aquí está lo que yome gusta estar haciendo, menos la doble llamada acolumn:

char *email = ((char *)sqlite3_column_text(statement, 10)) ? (char *)sqlite3_column_text(statement, 10) : "";

¿Hay alguna manera de expresar la segunda expresión de manera más concisa? Tengo que hacer muchas de estas repeticiones, así que estoy buscando la brevedad.

Sé que este es un problema de flujo de control en lugar de un problema con la API de SQLite en sí, pero ahí lo tienen. No puedo pensar en una buena manera de hacer esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta