aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcl/ldp.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-05-26 19:45:45 +0000
committerFlorin Coras <fcoras@cisco.com>2020-05-26 20:35:19 +0000
commit0ab36f55753d3d1417c41f8a3aec5e79a882555c (patch)
tree327e838ca68bba6e289d086a66d2f893bbab629e /src/vcl/ldp.c
parent1bf6df4ff9c83bac1fc329a4b5c4d7061f13720a (diff)
vcl: fix ldp fcntl64
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I342d8f928fcc7de74f9bd288c1a5d63ea1f90020
Diffstat (limited to 'src/vcl/ldp.c')
-rw-r--r--src/vcl/ldp.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/vcl/ldp.c b/src/vcl/ldp.c
index 19f3827bbcf..cda4425e574 100644
--- a/src/vcl/ldp.c
+++ b/src/vcl/ldp.c
@@ -478,17 +478,11 @@ writev (int fd, const struct iovec * iov, int iovcnt)
return size;
}
-int
-fcntl (int fd, int cmd, ...)
+static int
+fcntl_internal (int fd, int cmd, va_list ap)
{
vls_handle_t vlsh;
int rv = 0;
- va_list ap;
-
- if ((errno = -ldp_init ()))
- return -1;
-
- va_start (ap, cmd);
vlsh = ldp_fd_to_vlsh (fd);
LDBG (0, "fd %u vlsh %d, cmd %u", fd, vlsh, cmd);
@@ -534,6 +528,20 @@ fcntl (int fd, int cmd, ...)
#endif
}
+ return rv;
+}
+
+int
+fcntl (int fd, int cmd, ...)
+{
+ va_list ap;
+ int rv;
+
+ if ((errno = -ldp_init ()))
+ return -1;
+
+ va_start (ap, cmd);
+ rv = fcntl_internal (fd, cmd, ap);
va_end (ap);
return rv;
@@ -545,8 +553,11 @@ fcntl64 (int fd, int cmd, ...)
va_list ap;
int rv;
+ if ((errno = -ldp_init ()))
+ return -1;
+
va_start (ap, cmd);
- rv = fcntl (fd, cmd, ap);
+ rv = fcntl_internal (fd, cmd, ap);
va_end (ap);
return rv;
}