openbsd: properly set len for gtkmountoperation-x11

sysctl(3) is the correct way to get the lenght for len in this case.
Also drop unused headers and change style to match the rest of the file.
This commit is contained in:
Antoine Jacoutot
2014-04-25 14:37:59 +02:00
parent fab2173b31
commit 8935d2f123

View File

@ -41,9 +41,6 @@
#include <errno.h>
#if defined(__OpenBSD__)
#include <stdlib.h>
#include <sys/param.h>
#include <fcntl.h>
#include <sys/sysctl.h>
#endif
@ -731,11 +728,11 @@ pid_get_parent (GPid pid)
int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid,
sizeof(struct kinfo_proc), 0 };
if (sysctl(mib, G_N_ELEMENTS (mib), NULL, &len, NULL, 0) == -1)
if (sysctl (mib, G_N_ELEMENTS (mib), NULL, &len, NULL, 0) == -1)
return (-1);
mib[5] = (len / sizeof(struct kinfo_proc));
if (sysctl(mib, G_N_ELEMENTS (mib), &kp, &len, NULL, 0) < 0)
if (sysctl (mib, G_N_ELEMENTS (mib), &kp, &len, NULL, 0) < 0)
return -1;
ppid = kp.p_ppid;
@ -746,21 +743,23 @@ pid_get_parent (GPid pid)
static gchar *
pid_get_env (GPid pid, const gchar *key)
{
size_t len = PATH_MAX;
char **strs = NULL;
char *ret;
size_t len;
char **strs;
char *ret = NULL;
char *end;
int key_len;
int i;
int mib[] = { CTL_KERN, KERN_PROC_ARGS, pid, KERN_PROC_ENV };
strs = (char **)realloc(strs, len);
if (sysctl (mib, G_N_ELEMENTS (mib), NULL, &len, NULL, 0) == -1)
return ret;
strs = g_malloc0 (len);
key_len = strlen (key);
ret = NULL;
if (sysctl(mib, G_N_ELEMENTS (mib), strs, &len, NULL, 0) != -1)
if (sysctl (mib, G_N_ELEMENTS (mib), strs, &len, NULL, 0) != -1)
{
for (i = 0; strs[i] != NULL; i++)
{
@ -783,18 +782,20 @@ pid_get_env (GPid pid, const gchar *key)
static gchar *
pid_get_command_line (GPid pid)
{
size_t len = PATH_MAX;
char **strs = NULL;
char *ret = NULL;
char *end;
size_t len;
char **strs;
char *ret, *end;
int mib[] = { CTL_KERN, KERN_PROC_ARGS, pid, KERN_PROC_ARGV };
strs = (char **)realloc(strs, len);
if (sysctl (mib, G_N_ELEMENTS (mib), NULL, &len, NULL, 0) == -1)
return NULL;
if (sysctl(mib, G_N_ELEMENTS (mib), strs, &len, NULL, 0) == -1) {
strs = g_malloc0 (len);
if (sysctl (mib, G_N_ELEMENTS (mib), strs, &len, NULL, 0) == -1) {
g_free (strs);
return ret;
return NULL;
}
ret = g_strjoinv (" ", strs);