Commit 257591cf authored by Michael Pyne's avatar Michael Pyne

Fix compilation with strict libc (such as musl).

Many of the functions we use implicitly are not part of the C standard
library, so we have to specify that we're pulling from POSIX, X/Open,
BSD (or whatever standard we're using) before we can rely on the
definition being available.

There's plenty of room for refactoring here since I mostly stopped at
just getting the functions being called to show up from their includes,
although I did replace rindex with strrchr since the latter is
standardized.

Differential Revision: https://phabricator.kde.org/D6631
parent 7d7cafef
......@@ -19,6 +19,7 @@
*/
#define _POSIX_C_SOURCE /* sig.*set */
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
......
......@@ -18,6 +18,9 @@
*/
#define _BSD_SOURCE /* kill, syscall */
#define _DEFAULT_SOURCE /* Eliminate warning from prev */
#include <ctype.h>
#include <dirent.h>
#include <errno.h>
......@@ -29,6 +32,7 @@
#include <sys/resource.h>
#include <time.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/ptrace.h>
#include <asm/unistd.h>
......
......@@ -20,6 +20,8 @@
#include <config-workspace.h>
#define _XOPEN_SOURCE /* isascii */
#include <mntent.h>
#include <stdio.h>
#include <stdlib.h>
......@@ -63,8 +65,10 @@ char *getMntPnt( const char* cmd )
memset( device, 0, sizeof( device ) );
sscanf( cmd, "partitions%1024s", device );
ptr = (char*)rindex( device, '/' );
*ptr = '\0';
ptr = strrchr( device, '/' );
if( ptr ) {
*ptr = '\0';
}
return (char*)device;
}
......
......@@ -20,8 +20,11 @@
#include <config-workspace.h>
#define _POSIX_SOURCE /* expose old gethostbyaddr(3) call */
#include <arpa/inet.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
......@@ -264,10 +267,10 @@ updateNetStatTcpUdpRaw(const char *cmd)
{
FILE *netstat;
char buffer[1024];
uint local_addr, local_port;
uint remote_addr, remote_port;
unsigned local_addr, local_port;
unsigned remote_addr, remote_port;
int uid;
uint state;
unsigned state;
SocketInfo *socket_info;
if (strstr(cmd, "tcp")) {
......
......@@ -21,6 +21,7 @@
#include "ksysguardd.h"
#include "softraid.h"
#define _POSIX_C_SOURCE 200809L /* strndup */
#include <string.h> /* for strlen, strcat and strcmp */
#include <stdio.h> /* for sprintf */
#include <sys/types.h> /* for open */
......
......@@ -18,6 +18,8 @@
*/
#define _POSIX_C_SOURCE 200809L /* strdup */
#include <pwd.h>
#include <stdlib.h>
#include <string.h>
......
......@@ -20,6 +20,7 @@
#include "config-ksysguardd.h"
#define _POSIX_C_SOURCE 200809L /* strdup */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
......
......@@ -22,6 +22,9 @@
*/
/* strdup, fileno, fdopen */
#define _POSIX_C_SOURCE 200809L
#include <config-workspace.h>
#include <ctype.h>
#include <fcntl.h>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment