static void _add_nv_pair_proc_read_unless_unset(LogTransportAuxData *aux, const gchar *name, pid_t pid, const gchar *proc_file, const gchar *unset_value) { gchar filename[64]; gchar content[4096]; gssize content_len; _format_proc_file_name(filename, sizeof(filename), pid, proc_file); content_len = _read_text_file_content_without_trailing_newline(filename, content, sizeof(content)); if (content_len > 0 && (!unset_value || strcmp(content, unset_value) != 0)) log_transport_aux_data_add_nv_pair(aux, name, content); }
static void _add_nv_pair_proc_readlink(LogTransportAuxData *aux, const gchar *name, pid_t pid, const gchar *proc_file) { gchar filename[64]; gchar content[4096]; gssize content_len; _format_proc_file_name(filename, sizeof(filename), pid, proc_file); content_len = readlink(filename, content, sizeof(content)); if (content_len > 0) log_transport_aux_data_add_nv_pair(aux, name, content); }
static void _add_nv_pair_proc_read_argv(LogTransportAuxData *aux, const gchar *name, pid_t pid, const gchar *proc_file) { gchar filename[64]; gchar content[4096]; gssize content_len; gint i; _format_proc_file_name(filename, sizeof(filename), pid, proc_file); content_len = _read_text_file_content(filename, content, sizeof(content)); for (i = 0; i < content_len; i++) { if (!g_ascii_isprint(content[i])) content[i] = ' '; } if (content_len > 0) log_transport_aux_data_add_nv_pair(aux, name, content); }