From 27dae84ed92f1ef0300263091972338d12e78348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 18 Oct 2025 19:06:52 +0200 Subject: New upstream version 1.4.1 --- tests/getprogname.c | 45 +++------------------------------------------ 1 file changed, 3 insertions(+), 42 deletions(-) (limited to 'tests/getprogname.c') diff --git a/tests/getprogname.c b/tests/getprogname.c index 392a9a2f..4da2159f 100644 --- a/tests/getprogname.c +++ b/tests/getprogname.c @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2016-2024 Free Software Foundation, Inc. + Copyright (C) 2016-2025 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -42,14 +42,6 @@ # include #endif -#if defined __sgi || defined __osf__ -# include -# include -# include -# include -# include -#endif - #if defined __SCO_VERSION__ || defined __sysv5__ # include # include @@ -137,7 +129,7 @@ getprogname (void) else p = cmd; if (strlen (p) > PST_UCOMMLEN - 1 - && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0) + && memeq (p, ucomm, PST_UCOMMLEN - 1)) /* p is less truncated than ucomm. */ ; else @@ -173,7 +165,7 @@ getprogname (void) else p = cmd; if (strlen (p) > PST_UCOMMLEN - 1 - && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0) + && memeq (p, ucomm, PST_UCOMMLEN - 1)) /* p is less truncated than ucomm. */ ; else @@ -234,37 +226,6 @@ getprogname (void) free (buf.ps_pathptr); } return p; -# elif defined __sgi || defined __osf__ /* IRIX or Tru64 */ - char filename[50]; - int fd; - - # if defined __sgi - sprintf (filename, "/proc/pinfo/%d", (int) getpid ()); - # else - sprintf (filename, "/proc/%d", (int) getpid ()); - # endif - fd = open (filename, O_RDONLY | O_CLOEXEC); - if (0 <= fd) - { - prpsinfo_t buf; - int ioctl_ok = 0 <= ioctl (fd, PIOCPSINFO, &buf); - close (fd); - if (ioctl_ok) - { - char *name = buf.pr_fname; - size_t namesize = sizeof buf.pr_fname; - /* It may not be NUL-terminated. */ - char *namenul = memchr (name, '\0', namesize); - size_t namelen = namenul ? namenul - name : namesize; - char *namecopy = malloc (namelen + 1); - if (namecopy) - { - namecopy[namelen] = '\0'; - return memcpy (namecopy, name, namelen); - } - } - } - return NULL; # elif defined __SCO_VERSION__ || defined __sysv5__ /* SCO OpenServer6/UnixWare */ char buf[80]; int fd; -- cgit v1.2.3 From 5f59a34ab747dde8ede7357f3431bf06bd6002fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 8 Mar 2026 17:28:33 +0100 Subject: New upstream version 1.4.2 --- tests/getprogname.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'tests/getprogname.c') diff --git a/tests/getprogname.c b/tests/getprogname.c index 4da2159f..8eec96c5 100644 --- a/tests/getprogname.c +++ b/tests/getprogname.c @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2016-2025 Free Software Foundation, Inc. + Copyright (C) 2016-2026 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -188,7 +188,6 @@ getprogname (void) if (first) { pid_t pid = getpid (); - int token; W_PSPROC buf; first = 0; memset (&buf, 0, sizeof(buf)); @@ -197,7 +196,8 @@ getprogname (void) buf.ps_pathptr = (char *) malloc (buf.ps_pathlen = PS_PATHBLEN); if (buf.ps_cmdptr && buf.ps_conttyptr && buf.ps_pathptr) { - for (token = 0; token >= 0; + for (int token = 0; + token >= 0; token = w_getpsent (token, &buf, sizeof(buf))) { if (token > 0 && buf.ps_pid == pid) @@ -228,27 +228,20 @@ getprogname (void) return p; # elif defined __SCO_VERSION__ || defined __sysv5__ /* SCO OpenServer6/UnixWare */ char buf[80]; - int fd; sprintf (buf, "/proc/%d/cmdline", getpid()); - fd = open (buf, O_RDONLY); + int fd = open (buf, O_RDONLY); if (0 <= fd) { size_t n = read (fd, buf, 79); if (n > 0) { buf[n] = '\0'; /* Guarantee null-termination */ - char *progname; - progname = strrchr (buf, '/'); + char *progname = strrchr (buf, '/'); if (progname) - { - progname = progname + 1; /* Skip the '/' */ - } + progname = progname + 1; /* Skip the '/' */ else - { - progname = buf; - } - char *ret; - ret = malloc (strlen (progname) + 1); + progname = buf; + char *ret = malloc (strlen (progname) + 1); if (ret) { strcpy (ret, progname); -- cgit v1.2.3