]> git.ozlabs.org Git - ccan/blob - ccan/noerr/noerr.c
d6df81f7a0677dad1591473a79ed6432cead713c
[ccan] / ccan / noerr / noerr.c
1 #include "noerr.h"
2 #include <unistd.h>
3 #include <errno.h>
4
5 int close_noerr(int fd)
6 {
7         int saved_errno = errno, ret;
8
9         if (close(fd) != 0)
10                 ret = errno;
11         else
12                 ret = 0;
13
14         errno = saved_errno;
15         return ret;
16 }
17
18 int unlink_noerr(const char *pathname)
19 {
20         int saved_errno = errno, ret;
21
22         if (unlink(pathname) != 0)
23                 ret = errno;
24         else
25                 ret = 0;
26
27         errno = saved_errno;
28         return ret;
29 }