equal
deleted
inserted
replaced
303 if (extcmd) { |
303 if (extcmd) { |
304 g_free(extcmd); |
304 g_free(extcmd); |
305 extcmd = NULL; |
305 extcmd = NULL; |
306 } |
306 } |
307 if (command) |
307 if (command) |
308 extcmd = g_strdup(command); |
308 extcmd = expand_filename(command); |
309 } |
309 } |
310 |
310 |
311 // hk_ext_cmd() |
311 // hk_ext_cmd() |
312 // Launch an external command (process) for the given event. |
312 // Launch an external command (process) for the given event. |
313 // For now, data should be NULL. |
313 // For now, data should be NULL. |
350 if (!arg_type || !arg_info) return; |
350 if (!arg_type || !arg_info) return; |
351 |
351 |
352 if (strchr("MG", type) && data && settings_opt_get_int("event_log_files")) { |
352 if (strchr("MG", type) && data && settings_opt_get_int("event_log_files")) { |
353 int fd; |
353 int fd; |
354 const char *prefix; |
354 const char *prefix; |
|
355 char *prefix_xp = NULL; |
355 char *data_locale; |
356 char *data_locale; |
356 |
357 |
357 data_locale = from_utf8(data); |
358 data_locale = from_utf8(data); |
358 prefix = settings_opt_get("event_log_dir"); |
359 prefix = settings_opt_get("event_log_dir"); |
359 if (!prefix) |
360 if (prefix) |
|
361 prefix = prefix_xp = expand_filename(prefix); |
|
362 else |
360 prefix = ut_get_tmpdir(); |
363 prefix = ut_get_tmpdir(); |
361 datafname = g_strdup_printf("%s/mcabber-%d.XXXXXX", prefix, getpid()); |
364 datafname = g_strdup_printf("%s/mcabber-%d.XXXXXX", prefix, getpid()); |
|
365 g_free(prefix_xp); |
362 |
366 |
363 // XXX Some old systems may require us to set umask first. |
367 // XXX Some old systems may require us to set umask first. |
364 fd = mkstemp(datafname); |
368 fd = mkstemp(datafname); |
365 if (fd == -1) { |
369 if (fd == -1) { |
366 g_free(datafname); |
370 g_free(datafname); |