56 |
56 |
static inline int get_data(preludedb_sql_t *sql, idmef_data_t *data, char **output)
|
57 |
57 |
{
|
58 |
58 |
switch ( idmef_data_get_type(data) ) {
|
59 |
|
case IDMEF_DATA_TYPE_BYTE: case IDMEF_DATA_TYPE_BYTE_STRING:
|
60 |
|
return preludedb_sql_escape_binary(sql, idmef_data_get_data(data), idmef_data_get_len(data), output);
|
61 |
|
|
62 |
|
case IDMEF_DATA_TYPE_CHAR:
|
63 |
|
return preludedb_sql_escape_fast(sql, idmef_data_get_data(data), 1, output);
|
64 |
|
|
65 |
|
case IDMEF_DATA_TYPE_CHAR_STRING:
|
66 |
|
return preludedb_sql_escape_fast(sql, idmef_data_get_data(data), idmef_data_get_len(data) - 1, output);
|
67 |
|
|
|
59 |
case IDMEF_DATA_TYPE_BYTE:
|
|
60 |
case IDMEF_DATA_TYPE_BYTE_STRING:
|
|
61 |
case IDMEF_DATA_TYPE_CHAR_STRING:
|
|
62 |
case IDMEF_DATA_TYPE_CHAR:
|
|
63 |
return preludedb_sql_escape_binary(sql, idmef_data_get_data(data), idmef_data_get_len(data), output);
|
|
64 |
|
68 |
65 |
default: {
|
69 |
66 |
prelude_string_t *string;
|
70 |
67 |
int ret;
|
... | ... | |
79 |
76 |
return ret;
|
80 |
77 |
}
|
81 |
78 |
|
82 |
|
ret = preludedb_sql_escape(sql, prelude_string_get_string(string), output);
|
|
79 |
ret = preludedb_sql_escape_binary(sql, prelude_string_get_string(string), prelude_string_get_len(string), output);
|
83 |
80 |
|
84 |
81 |
prelude_string_destroy(string);
|
85 |
82 |
|
... | ... | |
1398 |
1395 |
free(type);
|
1399 |
1396 |
return ret;
|
1400 |
1397 |
}
|
1401 |
|
|
|
1398 |
|
1402 |
1399 |
ret = get_data(sql, idmef_additional_data_get_data(additional_data), &data);
|
1403 |
1400 |
if ( ret < 0 ) {
|
1404 |
1401 |
free(type);
|