chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bus: add new sd_bus_creds object to encapsulate process credentials
[elogind.git]
/
src
/
shared
/
util.c
diff --git
a/src/shared/util.c
b/src/shared/util.c
index 0fce2537da1c77ae225668c50bcba4290597af62..38134ae521b61963de65667dc7920dffc9d9bf32 100644
(file)
--- a/
src/shared/util.c
+++ b/
src/shared/util.c
@@
-430,7
+430,7
@@
char *split_quoted(const char *c, size_t *l, char **state) {
*state = (char*) e;
}
*state = (char*) e;
}
- return current;
+ return
(char*)
current;
}
int get_parent_of_pid(pid_t pid, pid_t *_ppid) {
}
int get_parent_of_pid(pid_t pid, pid_t *_ppid) {
@@
-497,7
+497,7
@@
int get_starttime_of_pid(pid_t pid, unsigned long long *st) {
f = fopen(p, "re");
if (!f)
f = fopen(p, "re");
if (!f)
- return -errno;
+ return
errno == ENOENT ? -ESRCH :
-errno;
if (!fgets(line, sizeof(line), f)) {
if (ferror(f))
if (!fgets(line, sizeof(line), f)) {
if (ferror(f))
@@
-563,6
+563,7
@@
char *truncate_nl(char *s) {
int get_process_comm(pid_t pid, char **name) {
const char *p;
int get_process_comm(pid_t pid, char **name) {
const char *p;
+ int r;
assert(name);
assert(pid >= 0);
assert(name);
assert(pid >= 0);
@@
-572,7
+573,11
@@
int get_process_comm(pid_t pid, char **name) {
else
p = procfs_file_alloca(pid, "comm");
else
p = procfs_file_alloca(pid, "comm");
- return read_one_line_file(p, name);
+ r = read_one_line_file(p, name);
+ if (r == -ENOENT)
+ return -ESRCH;
+
+ return r;
}
int get_process_cmdline(pid_t pid, size_t max_length, bool comm_fallback, char **line) {
}
int get_process_cmdline(pid_t pid, size_t max_length, bool comm_fallback, char **line) {
@@
-729,7
+734,7
@@
int get_process_exe(pid_t pid, char **name) {
r = readlink_malloc(p, name);
if (r < 0)
r = readlink_malloc(p, name);
if (r < 0)
- return r;
+ return r
== -ENOENT ? -ESRCH : r
;
d = endswith(*name, " (deleted)");
if (d)
d = endswith(*name, " (deleted)");
if (d)