summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérémie Courrèges-Anglas <jca@wxcvbn.org>2014-02-20 11:56:46 +0100
committerJérémie Courrèges-Anglas <jca@wxcvbn.org>2014-02-20 11:56:46 +0100
commitf5fc5561be15f1b353a29e99679783878ed7503f (patch)
tree14f0ca0b81c4cd37670da0b65b0e2692d8b8c5fd
parent15a8eaef00219421e4b9103ef974bc9ada2d0bca (diff)
downloadratpoison-f5fc5561be15f1b353a29e99679783878ed7503f.zip
Change set_close_on_exec to take a file descriptor.
* Since it's easier to get a fd from a FILE * rather than the other way around.
-rw-r--r--src/actions.c2
-rw-r--r--src/main.c9
-rw-r--r--src/ratpoison.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/src/actions.c b/src/actions.c
index 164fa0a..24cb62f 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -1154,7 +1154,7 @@ cmd_source (int interactive UNUSED, struct cmdarg **args)
return cmdret_new (RET_FAILURE, "source: %s : %s", ARG_STRING(0), strerror(errno));
else
{
- set_close_on_exec (fileptr);
+ set_close_on_exec (fileno (fileptr));
read_rc_file (fileptr);
fclose (fileptr);
}
diff --git a/src/main.c b/src/main.c
index 44dec8e..9a791ad 100644
--- a/src/main.c
+++ b/src/main.c
@@ -365,12 +365,11 @@ print_help (void)
#endif
void
-set_close_on_exec (FILE *fd)
+set_close_on_exec (int fd)
{
- int fnum = fileno (fd);
- int flags = fcntl (fnum, F_GETFD);
+ int flags = fcntl (fd, F_GETFD);
if (flags >= 0)
- fcntl (fnum, F_SETFD, flags | FD_CLOEXEC);
+ fcntl (fd, F_SETFD, flags | FD_CLOEXEC);
}
void
@@ -451,7 +450,7 @@ read_startup_files (char *alt_rcfile)
if (fileptr)
{
- set_close_on_exec(fileptr);
+ set_close_on_exec (fileno (fileptr));
read_rc_file (fileptr);
fclose (fileptr);
}
diff --git a/src/ratpoison.h b/src/ratpoison.h
index 31c5512..2c829ef 100644
--- a/src/ratpoison.h
+++ b/src/ratpoison.h
@@ -84,7 +84,7 @@ extern XGCValues gv;
void clean_up (void);
rp_screen *find_screen (Window w);
-void set_close_on_exec (FILE *fd);
+void set_close_on_exec (int fd);
void read_rc_file (FILE *file);
void fatal (const char *msg);