aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPENDENCIES4
-rw-r--r--LICENSE2
-rw-r--r--Makefile4
-rw-r--r--config.mk8
-rw-r--r--coopgammad.c9
-rw-r--r--servers-coopgamma.c4
-rw-r--r--servers-crtc.c2
-rw-r--r--servers-crtc.h2
-rw-r--r--servers-gamma.c18
-rw-r--r--servers-kernel.c11
-rw-r--r--state.c6
-rw-r--r--state.h10
-rw-r--r--types-output.h2
-rw-r--r--types-ramps.c4
-rw-r--r--types-ramps.h12
-rw-r--r--util.c4
16 files changed, 52 insertions, 50 deletions
diff --git a/DEPENDENCIES b/DEPENDENCIES
index c449ab4..ff47212 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -1,13 +1,13 @@
RUNTIME DEPENDENCIES:
libc
- libgamma
+ libgamma>=0.7.4
BUILD DEPENDENCIES:
libc
- libgamma
+ libgamma>=0.7.4
libclut
cc
make
diff --git a/LICENSE b/LICENSE
index c2c5e80..83ceedf 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
ISC License
-© 2016, 2019 Mattias Andrée <maandree@kth.se>
+© 2016, 2019 Mattias Andrée <m@maandree.se>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
diff --git a/Makefile b/Makefile
index 065ed9e..56f35d5 100644
--- a/Makefile
+++ b/Makefile
@@ -20,12 +20,12 @@ PARTS =\
types-message\
types-ring
-OBJ = $(PARTS:=.o) coopgammad.c
+OBJ = $(PARTS:=.o) coopgammad.o
HDR = $(PARTS:=.h) arg.h
all: coopgammad
-$(OBJ): $(@:.o=.c) $(HDR)
+$(OBJ): $(HDR)
.c.o:
$(CC) -c -o $@ $< $(XCPPFLAGS) $(CPPFLAGS) $(CFLAGS)
diff --git a/config.mk b/config.mk
index 9e65d09..e2d6dee 100644
--- a/config.mk
+++ b/config.mk
@@ -5,8 +5,8 @@ MANPREFIX = $(PREFIX)/share/man
PKGNAME = coopgammad
COMMAND = coopgammad
-CC=cc
+CC = cc -std=c11
-CPPFLAGS = -D_XOPEN_SOURCE=700 -D_GNU_SOURCE -DUSE_VALGRIND
-CFLAGS = -std=c11 -Wall -Og
-LDFLAGS = -lgamma -s
+CPPFLAGS = -D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DUSE_VALGRIND
+CFLAGS = -Wall
+LDFLAGS = -lgamma
diff --git a/coopgammad.c b/coopgammad.c
index 50ba53b..8638679 100644
--- a/coopgammad.c
+++ b/coopgammad.c
@@ -166,7 +166,7 @@ GCC_ONLY(__attribute__((__nonnull__)))
static int
get_method(const char *restrict arg)
{
-#if LIBGAMMA_METHOD_MAX > 5
+#if LIBGAMMA_METHOD_COUNT > 6
# warning libgamma has added more adjustment methods
#endif
@@ -278,7 +278,7 @@ daemonise(int keep_stderr)
fd = open(pidpath, O_WRONLY);
if (fd < 0)
goto fail;
- if (dprintf(fd, "%llu\n", (unsigned long long)getpid()) < 0)
+ if (dprintf(fd, "%llu\n", (unsigned long long int)getpid()) < 0)
goto fail;
close(fd);
fd = -1;
@@ -664,6 +664,7 @@ static int
print_method_and_site(int query)
{
const char *restrict methodname = NULL;
+ const char *const_sitename;
char *p;
if (query == 1) {
@@ -682,8 +683,8 @@ print_method_and_site(int query)
}
if (!sitename)
- if ((sitename = libgamma_method_default_site(method)))
- if (!(sitename = memdup(sitename, strlen(sitename) + 1)))
+ if ((const_sitename = libgamma_method_default_site(method)))
+ if (!(sitename = memdup(const_sitename, strlen(const_sitename) + 1)))
return -1;
if (sitename) {
diff --git a/servers-coopgamma.c b/servers-coopgamma.c
index f14c0c4..42cd783 100644
--- a/servers-coopgamma.c
+++ b/servers-coopgamma.c
@@ -6,13 +6,13 @@
#include "util.h"
#include "types-output.h"
-#include <libclut.h>
-
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <libclut.h>
+
/**
* Apply a filter on top of another filter
diff --git a/servers-crtc.c b/servers-crtc.c
index 24018e1..9171586 100644
--- a/servers-crtc.c
+++ b/servers-crtc.c
@@ -53,7 +53,7 @@ handle_enumerate_crtcs(size_t conn, const char *restrict message_id)
* @return The name of the CRTC, `NULL` on error
*/
char *
-get_crtc_name(const libgamma_crtc_information_t *restrict info, const libgamma_crtc_state_t *restrict crtc)
+get_crtc_name(const struct libgamma_crtc_information *restrict info, const struct libgamma_crtc_state *restrict crtc)
{
char *name;
if (!info->edid_error && info->edid) {
diff --git a/servers-crtc.h b/servers-crtc.h
index 08e4b02..64606b2 100644
--- a/servers-crtc.h
+++ b/servers-crtc.h
@@ -33,7 +33,7 @@ int handle_enumerate_crtcs(size_t conn, const char *restrict message_id);
* @return The name of the CRTC, `NULL` on error
*/
GCC_ONLY(__attribute__((__nonnull__)))
-char *get_crtc_name(const libgamma_crtc_information_t *restrict info, const libgamma_crtc_state_t *restrict crtc);
+char *get_crtc_name(const struct libgamma_crtc_information *restrict info, const struct libgamma_crtc_state *restrict crtc);
/**
* Initialise the site
diff --git a/servers-gamma.c b/servers-gamma.c
index 8907e8f..3b480b3 100644
--- a/servers-gamma.c
+++ b/servers-gamma.c
@@ -120,12 +120,12 @@ set_gamma(const struct output *restrict output, const union gamma_ramps *restric
return;
switch (output->depth) {
- case 8: r = libgamma_crtc_set_gamma_ramps8(output->crtc, ramps->u8); break;
- case 16: r = libgamma_crtc_set_gamma_ramps16(output->crtc, ramps->u16); break;
- case 32: r = libgamma_crtc_set_gamma_ramps32(output->crtc, ramps->u32); break;
- case 64: r = libgamma_crtc_set_gamma_ramps64(output->crtc, ramps->u64); break;
- case -1: r = libgamma_crtc_set_gamma_rampsf(output->crtc, ramps->f); break;
- case -2: r = libgamma_crtc_set_gamma_rampsd(output->crtc, ramps->d); break;
+ case 8: r = libgamma_crtc_set_gamma_ramps8(output->crtc, &ramps->u8); break;
+ case 16: r = libgamma_crtc_set_gamma_ramps16(output->crtc, &ramps->u16); break;
+ case 32: r = libgamma_crtc_set_gamma_ramps32(output->crtc, &ramps->u32); break;
+ case 64: r = libgamma_crtc_set_gamma_ramps64(output->crtc, &ramps->u64); break;
+ case -1: r = libgamma_crtc_set_gamma_rampsf(output->crtc, &ramps->f); break;
+ case -2: r = libgamma_crtc_set_gamma_rampsd(output->crtc, &ramps->d); break;
default:
abort();
}
@@ -224,12 +224,12 @@ parse_edid(struct output *restrict output, const unsigned char *restrict edid, s
int
initialise_gamma_info(void)
{
- libgamma_crtc_information_t info;
+ struct libgamma_crtc_information info;
int saved_errno;
size_t i;
for (i = 0; i < outputs_n; i++) {
- libgamma_get_crtc_information(&info, crtcs + i,
+ libgamma_get_crtc_information(&info, sizeof(info), &crtcs[i],
LIBGAMMA_CRTC_INFO_EDID |
LIBGAMMA_CRTC_INFO_MACRO_RAMP |
LIBGAMMA_CRTC_INFO_GAMMA_SUPPORT |
@@ -334,7 +334,7 @@ restore_gamma(void)
#define RESTORE_RAMPS(SUFFIX, MEMBER)\
do {\
if (outputs[i].saved_ramps.MEMBER.red) {\
- gerror = libgamma_crtc_set_gamma_ramps##SUFFIX(outputs[i].crtc, outputs[i].saved_ramps.MEMBER);\
+ gerror = libgamma_crtc_set_gamma_ramps##SUFFIX(outputs[i].crtc, &outputs[i].saved_ramps.MEMBER);\
if (gerror)\
libgamma_perror(argv0, gerror);\
}\
diff --git a/servers-kernel.c b/servers-kernel.c
index fd60aef..a5e3871 100644
--- a/servers-kernel.c
+++ b/servers-kernel.c
@@ -3,8 +3,6 @@
#include "state.h"
#include "util.h"
-#include <libgamma.h>
-
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h>
@@ -16,6 +14,8 @@
#include <string.h>
#include <unistd.h>
+#include <libgamma.h>
+
/**
* Get the pathname of the runtime file
@@ -29,6 +29,7 @@ get_pathname(const char *restrict suffix)
{
const char *restrict rundir = getenv("XDG_RUNTIME_DIR");
const char *restrict username = "";
+ const char *const_name;
char *name = NULL;
char *p;
char *restrict rc;
@@ -39,8 +40,8 @@ get_pathname(const char *restrict suffix)
name = memdup(sitename, strlen(sitename) + 1);
if (!name)
goto fail;
- } else if ((name = libgamma_method_default_site(method))) {
- name = memdup(name, strlen(name) + 1);
+ } else if ((const_name = libgamma_method_default_site(method))) {
+ name = memdup(const_name, strlen(const_name) + 1);
if (!name)
goto fail;
}
@@ -176,7 +177,7 @@ retry:
goto bad;
if ((size_t)(p - content) != n)
goto bad;
- sprintf(temp, "%llu\n", (unsigned long long)pid);
+ sprintf(temp, "%llu\n", (unsigned long long int)pid);
if (strcmp(content, temp))
goto bad;
free(content);
diff --git a/state.c b/state.c
index 5aabf0e..f3ddffa 100644
--- a/state.c
+++ b/state.c
@@ -107,17 +107,17 @@ char *restrict sitename = NULL;
/**
* The libgamma site state
*/
-libgamma_site_state_t site; /* do not marshal */
+struct libgamma_site_state site; /* do not marshal */
/**
* The libgamma partition states
*/
-libgamma_partition_state_t *restrict partitions = NULL; /* do not marshal */
+struct libgamma_partition_state *restrict partitions = NULL; /* do not marshal */
/**
* The libgamma CRTC states
*/
-libgamma_crtc_state_t *restrict crtcs = NULL; /* do not marshal */
+struct libgamma_crtc_state *restrict crtcs = NULL; /* do not marshal */
/**
* Preserve gamma ramps at priority 0?
diff --git a/state.h b/state.h
index f707c81..a76eee2 100644
--- a/state.h
+++ b/state.h
@@ -6,11 +6,11 @@
#include "types-ring.h"
#include "types-output.h"
-#include <libgamma.h>
-
#include <stddef.h>
#include <signal.h>
+#include <libgamma.h>
+
#ifndef GCC_ONLY
# if defined(__GNUC__) && !defined(__clang__)
# define GCC_ONLY(...) __VA_ARGS__
@@ -118,17 +118,17 @@ extern char *restrict sitename;
/**
* The libgamma site state
*/
-extern libgamma_site_state_t site;
+extern struct libgamma_site_state site;
/**
* The libgamma partition states
*/
-extern libgamma_partition_state_t *restrict partitions;
+extern struct libgamma_partition_state *restrict partitions;
/**
* The libgamma CRTC states
*/
-extern libgamma_crtc_state_t *restrict crtcs;
+extern struct libgamma_crtc_state *restrict crtcs;
/**
* Preserve gamma ramps at priority 0?
diff --git a/types-output.h b/types-output.h
index ca5bf61..17890a0 100644
--- a/types-output.h
+++ b/types-output.h
@@ -184,7 +184,7 @@ struct output {
/**
* The libgamma state for the output
*/
- libgamma_crtc_state_t *restrict crtc;
+ struct libgamma_crtc_state *restrict crtc;
/**
* Saved gamma ramps
diff --git a/types-ramps.c b/types-ramps.c
index a80f66b..87a3012 100644
--- a/types-ramps.c
+++ b/types-ramps.c
@@ -1,12 +1,12 @@
/* See LICENSE file for copyright and license details. */
#include "types-ramps.h"
-#include <libclut.h>
-
#include <errno.h>
#include <stdlib.h>
#include <string.h>
+#include <libclut.h>
+
/**
* The name of the process
diff --git a/types-ramps.h b/types-ramps.h
index e8e6956..6e64efc 100644
--- a/types-ramps.h
+++ b/types-ramps.h
@@ -20,32 +20,32 @@ union gamma_ramps {
/**
* Ramps with 8-bit value
*/
- libgamma_gamma_ramps8_t u8;
+ struct libgamma_gamma_ramps8 u8;
/**
* Ramps with 16-bit value
*/
- libgamma_gamma_ramps16_t u16;
+ struct libgamma_gamma_ramps16 u16;
/**
* Ramps with 32-bit value
*/
- libgamma_gamma_ramps32_t u32;
+ struct libgamma_gamma_ramps32 u32;
/**
* Ramps with 64-bit value
*/
- libgamma_gamma_ramps64_t u64;
+ struct libgamma_gamma_ramps64 u64;
/**
* Ramps with `float` value
*/
- libgamma_gamma_rampsf_t f;
+ struct libgamma_gamma_rampsf f;
/**
* Ramps with `double` value
*/
- libgamma_gamma_rampsd_t d;
+ struct libgamma_gamma_rampsd d;
};
/**
diff --git a/util.c b/util.c
index a6a97a9..7daeb52 100644
--- a/util.c
+++ b/util.c
@@ -1,8 +1,6 @@
/* See LICENSE file for copyright and license details. */
#include "util.h"
-#include <libclut.h>
-
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
@@ -11,6 +9,8 @@
#include <time.h>
#include <unistd.h>
+#include <libclut.h>
+
/**
* Duplicate a memory segment