chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
socket: be a bit more verbose when refusing to start a socket unit
[elogind.git]
/
src
/
util.c
diff --git
a/src/util.c
b/src/util.c
index a1686ed3892deffa3f7776073c132a49c0cdf5e2..d39cb48385e04ef045c63d47d3a20627f2856eb2 100644
(file)
--- a/
src/util.c
+++ b/
src/util.c
@@
-452,7
+452,7
@@
char **split_path_and_make_absolute(const char *p) {
int get_parent_of_pid(pid_t pid, pid_t *_ppid) {
int r;
FILE *f;
int get_parent_of_pid(pid_t pid, pid_t *_ppid) {
int r;
FILE *f;
- char fn[
132], line[256
], *p;
+ char fn[
PATH_MAX], line[LINE_MAX
], *p;
long unsigned ppid;
assert(pid >= 0);
long unsigned ppid;
assert(pid >= 0);
@@
-513,7
+513,16
@@
int write_one_line_file(const char *fn, const char *line) {
if (!endswith(line, "\n"))
fputc('\n', f);
if (!endswith(line, "\n"))
fputc('\n', f);
- r = 0;
+ fflush(f);
+
+ if (ferror(f)) {
+ if (errno != 0)
+ r = -errno;
+ else
+ r = -EIO;
+ } else
+ r = 0;
+
finish:
fclose(f);
return r;
finish:
fclose(f);
return r;
@@
-2054,7
+2063,7
@@
int chvt(int vt) {
int read_one_char(FILE *f, char *ret, bool *need_nl) {
struct termios old_termios, new_termios;
char c;
int read_one_char(FILE *f, char *ret, bool *need_nl) {
struct termios old_termios, new_termios;
char c;
- char line[
1024
];
+ char line[
LINE_MAX
];
assert(f);
assert(ret);
assert(f);
assert(ret);
@@
-2262,7
+2271,7
@@
int flush_fd(int fd) {
pollfd.events = POLLIN;
for (;;) {
pollfd.events = POLLIN;
for (;;) {
- char buf[
1024
];
+ char buf[
LINE_MAX
];
ssize_t l;
int r;
ssize_t l;
int r;
@@
-2888,7
+2897,7
@@
int getttyname_harder(int fd, char **r) {
int get_ctty_devnr(dev_t *d) {
int k;
int get_ctty_devnr(dev_t *d) {
int k;
- char line[
256
], *p;
+ char line[
LINE_MAX
], *p;
unsigned long ttynr;
FILE *f;
unsigned long ttynr;
FILE *f;
@@
-2923,7
+2932,7
@@
int get_ctty_devnr(dev_t *d) {
int get_ctty(char **r, dev_t *_devnr) {
int k;
int get_ctty(char **r, dev_t *_devnr) {
int k;
- char fn[
128
], *s, *b, *p;
+ char fn[
PATH_MAX
], *s, *b, *p;
dev_t devnr;
assert(r);
dev_t devnr;
assert(r);