void-packages/srcpkgs/acpid/patches/portability.patch

68 lines
1.5 KiB
Diff

Portability fixes:
- Do not use isfdtype()... rather use fstat(2).
- Define TEMP_FAILURE_RETRY if needed.
--- acpid.h 2014-02-26 01:36:58.788146100 +0100
+++ acpid.h 2014-12-28 06:58:18.252702509 +0100
@@ -39,6 +39,15 @@
#define PACKAGE "acpid"
+#ifndef TEMP_FAILURE_RETRY
+# define TEMP_FAILURE_RETRY(expression) \
+ (__extension__ \
+ ({ long int __result; \
+ do __result = (long int) (expression); \
+ while (__result == -1L && errno == EINTR); \
+ __result; }))
+#endif
+
/*
* acpid.c
*/
--- kacpimon/libnetlink.c 2013-02-24 14:20:06.624844873 +0100
+++ kacpimon/libnetlink.c 2014-12-28 06:59:50.283706615 +0100
@@ -24,6 +24,7 @@
#include <time.h>
#include <sys/uio.h>
+#include "acpid.h"
#include "libnetlink.h"
void rtnl_close(struct rtnl_handle *rth)
--- libnetlink.c 2012-07-15 00:29:38.168312376 +0200
+++ libnetlink.c 2014-12-28 06:59:17.379705147 +0100
@@ -24,6 +24,7 @@
#include <time.h>
#include <sys/uio.h>
+#include "acpid.h"
#include "libnetlink.h"
void rtnl_close(struct rtnl_handle *rth)
--- sock.c 2013-08-15 01:30:44.655673004 +0200
+++ sock.c 2014-12-28 07:11:31.198737890 +0100
@@ -30,6 +30,7 @@
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <errno.h>
#include <grp.h>
@@ -53,7 +54,12 @@ int non_root_clients;
int
is_socket(int fd)
{
- return (isfdtype(fd, S_IFSOCK) == 1);
+ struct stat st;
+
+ if (fstat(fd, &st) == 0)
+ return S_ISSOCK(st.st_mode);
+
+ return -1;
}
/* accept a new client connection */