diff options
author | Florin Coras <fcoras@cisco.com> | 2020-05-26 19:45:45 +0000 |
---|---|---|
committer | Florin Coras <fcoras@cisco.com> | 2020-05-26 20:35:19 +0000 |
commit | 0ab36f55753d3d1417c41f8a3aec5e79a882555c (patch) | |
tree | 327e838ca68bba6e289d086a66d2f893bbab629e /src/vcl/ldp.c | |
parent | 1bf6df4ff9c83bac1fc329a4b5c4d7061f13720a (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.c | 29 |
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; } |