aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2016-05-02 04:34:55 -0400
committerJesse Luehrs <doy@tozt.net>2016-05-02 04:37:17 -0400
commit252dcc89a68b81e1fe7f759d33e8a49fab155c7c (patch)
tree1ac7bc4dcdb0f55a98e4a077147d10a057878a7e
parent1b5814ba53290e513085fd7e19e7545da613ee53 (diff)
downloadrunes-252dcc89a68b81e1fe7f759d33e8a49fab155c7c.tar.gz
runes-252dcc89a68b81e1fe7f759d33e8a49fab155c7c.zip
clean up runes_warn/runes_die handling
-rw-r--r--src/config.c16
-rw-r--r--src/runesc.c6
-rw-r--r--src/runesd.c2
-rw-r--r--src/socket.c26
-rw-r--r--src/util.c29
-rw-r--r--src/window-xlib.c3
6 files changed, 48 insertions, 34 deletions
diff --git a/src/config.c b/src/config.c
index 3e4a6fa..3f9da3b 100644
--- a/src/config.c
+++ b/src/config.c
@@ -385,7 +385,7 @@ static void runes_config_process_config_file(RunesTerm *t, FILE *config_file)
kend = kbegin + strcspn(kbegin, " \t=");
vbegin = kend + strspn(kend, " \t");
if (*vbegin != '=') {
- runes_warn("couldn't parse line: '%s'\n", line);
+ runes_warn("couldn't parse line: '%s'", line);
}
vbegin++;
vbegin = vbegin + strspn(vbegin, " \t");
@@ -409,11 +409,11 @@ static void runes_config_process_args(RunesTerm *t, int argc, char *argv[])
i++;
}
else {
- runes_warn("option found with no argument: '%s'\n", argv[i]);
+ runes_warn("option found with no argument: '%s'", argv[i]);
}
}
else {
- runes_warn("unknown argument: '%s'\n", argv[i]);
+ runes_warn("unknown argument: '%s'", argv[i]);
}
}
}
@@ -476,7 +476,7 @@ static void runes_config_set(RunesTerm *t, char *key, char *val)
i = atoi(&key[5]);
if (key[5] < '0' || key[5] > '9' || i < 0 || i > 255) {
- runes_warn("unknown option: '%s'\n", key);
+ runes_warn("unknown option: '%s'", key);
return;
}
newcolor = runes_config_parse_color(val);
@@ -501,7 +501,7 @@ static void runes_config_set(RunesTerm *t, char *key, char *val)
config->cmd = runes_config_parse_string(val);
}
else {
- runes_warn("unknown option: '%s'\n", key);
+ runes_warn("unknown option: '%s'", key);
}
}
@@ -514,7 +514,7 @@ static char runes_config_parse_bool(char *val)
return 0;
}
else {
- runes_warn("unknown boolean value: '%s'\n", val);
+ runes_warn("unknown boolean value: '%s'", val);
return 0;
}
}
@@ -522,7 +522,7 @@ static char runes_config_parse_bool(char *val)
static int runes_config_parse_uint(char *val)
{
if (strspn(val, "0123456789") != strlen(val)) {
- runes_warn("unknown unsigned integer value: '%s'\n", val);
+ runes_warn("unknown unsigned integer value: '%s'", val);
}
return atoi(val);
@@ -538,7 +538,7 @@ static cairo_pattern_t *runes_config_parse_color(char *val)
int r, g, b;
if (strlen(val) != 7 || sscanf(val, "#%2x%2x%2x", &r, &g, &b) != 3) {
- runes_warn("unknown color value: '%s'\n", val);
+ runes_warn("unknown color value: '%s'", val);
return NULL;
}
diff --git a/src/runesc.c b/src/runesc.c
index 04fc26b..8ee0d2a 100644
--- a/src/runesc.c
+++ b/src/runesc.c
@@ -47,18 +47,18 @@ static int runes_socket_open_client(char *name)
struct sockaddr_un client;
if (strlen(name) + 1 > MAX_SOCKET_PATH_LEN) {
- runes_die("socket path %s is too long\n", name);
+ runes_die("socket path %s is too long", name);
}
s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s < 0) {
- runes_die("couldn't create socket: %s\n", strerror(errno));
+ runes_die("couldn't create socket: %s", strerror(errno));
}
client.sun_family = AF_UNIX;
strcpy(client.sun_path, name);
if (connect(s, (struct sockaddr*)(&client), sizeof(struct sockaddr_un))) {
- runes_die("couldn't connect to socket at %s: %s\n", name,
+ runes_die("couldn't connect to socket at %s: %s", name,
strerror(errno));
}
diff --git a/src/runesd.c b/src/runesd.c
index b24eb6f..0e1cff6 100644
--- a/src/runesd.c
+++ b/src/runesd.c
@@ -11,7 +11,7 @@ int main (int argc, char *argv[])
UNUSED(argv);
if (argc > 1) {
- runes_die("runesd takes no arguments; pass them to runesc instead.\n");
+ runes_die("runesd takes no arguments; pass them to runesc instead.");
}
setlocale(LC_ALL, "");
diff --git a/src/socket.c b/src/socket.c
index 8cb8680..48c0d00 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -40,13 +40,13 @@ static int runes_socket_open(RunesSocket *sock)
struct sockaddr_un server;
if (strlen(sock->name) + 1 > MAX_SOCKET_PATH_LEN) {
- runes_die("socket path %s is too long\n", sock->name);
+ runes_die("socket path %s is too long", sock->name);
}
dir = strdup(sock->name);
slash = strrchr(dir, '/');
if (slash == NULL) {
- runes_die("socket path %s must be an absolute path\n", sock->name);
+ runes_die("socket path %s must be an absolute path", sock->name);
}
*slash = '\0';
runes_mkdir_p(dir);
@@ -56,23 +56,23 @@ static int runes_socket_open(RunesSocket *sock)
s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s < 0) {
- runes_die("couldn't create socket: %s\n", strerror(errno));
+ runes_die("couldn't create socket: %s", strerror(errno));
}
server.sun_family = AF_UNIX;
strcpy(server.sun_path, sock->name);
if (bind(s, (struct sockaddr*)(&server), sizeof(struct sockaddr_un))) {
- runes_die("couldn't bind to socket %s: %s\n", sock->name,
+ runes_die("couldn't bind to socket %s: %s", sock->name,
strerror(errno));
}
if (chmod(sock->name, S_IRUSR|S_IWUSR)) {
- runes_die("couldn't chmod socket %s: %s\n", sock->name,
+ runes_die("couldn't chmod socket %s: %s", sock->name,
strerror(errno));
}
if (listen(s, 5)) {
- runes_die("couldn't listen on socket %s: %s\n", sock->name,
+ runes_die("couldn't listen on socket %s: %s", sock->name,
strerror(errno));
}
@@ -107,7 +107,7 @@ static int runes_socket_handle_request(RunesTerm *t)
bytes = recv(sock->client_sock, (void*)(&argc), sizeof(argc), 0);
if (bytes < (int)sizeof(argc)) {
- runes_warn("invalid message received: got %d bytes, expected 4\n",
+ runes_warn("invalid message received: got %d bytes, expected 4",
bytes);
close(sock->client_sock);
return 1;
@@ -115,7 +115,7 @@ static int runes_socket_handle_request(RunesTerm *t)
argc = ntohl(argc);
if (argc > 1024) {
- runes_warn("invalid message received: argc = %d, must be < 1024\n",
+ runes_warn("invalid message received: argc = %d, must be < 1024",
argc);
close(sock->client_sock);
return 1;
@@ -124,7 +124,7 @@ static int runes_socket_handle_request(RunesTerm *t)
bytes = recv(sock->client_sock, (void*)(&argv_len), sizeof(argv_len), 0);
if (bytes < (int)sizeof(argc)) {
- runes_warn("invalid message received: got %d bytes, expected 4\n",
+ runes_warn("invalid message received: got %d bytes, expected 4",
bytes);
close(sock->client_sock);
free(argv);
@@ -133,7 +133,7 @@ static int runes_socket_handle_request(RunesTerm *t)
argv_len = ntohl(argv_len);
if (argv_len > 131072) {
- runes_warn("invalid message received: argv_len = %d, must be < %d\n",
+ runes_warn("invalid message received: argv_len = %d, must be < %d",
argv_len, 131072);
close(sock->client_sock);
free(argv);
@@ -143,7 +143,7 @@ static int runes_socket_handle_request(RunesTerm *t)
bytes = recv(sock->client_sock, argv_buf, argv_len, 0);
if (bytes < argv_len) {
- runes_warn("invalid message received: got %d bytes, expected %d\n",
+ runes_warn("invalid message received: got %d bytes, expected %d",
bytes, argv_len);
close(sock->client_sock);
free(argv);
@@ -162,12 +162,12 @@ static int runes_socket_handle_request(RunesTerm *t)
char *next_null;
if (offset >= argv_len) {
- runes_die("args in argv_buf don't match argc of %d\n", argc);
+ runes_die("args in argv_buf don't match argc of %d", argc);
}
argv[i] = argv_buf + offset;
next_null = memchr(argv_buf + offset, '\0', argv_len - offset);
if (!next_null) {
- runes_die("args in argv_buf don't match argc of %d\n", argc);
+ runes_die("args in argv_buf don't match argc of %d", argc);
}
offset = next_null - argv_buf + 1;
}
diff --git a/src/util.c b/src/util.c
index 5bd9ce0..cd0d1d0 100644
--- a/src/util.c
+++ b/src/util.c
@@ -6,12 +6,13 @@
#include "runes.h"
+static void runes_vwarn(const char *fmt, va_list ap);
+
void runes_warn(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- /* XXX make this do something else on windows */
- vfprintf(stderr, fmt, ap);
+ runes_vwarn(fmt, ap);
va_end(ap);
}
@@ -19,8 +20,7 @@ void runes_die(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- /* XXX make this do something else on windows */
- vfprintf(stderr, fmt, ap);
+ runes_vwarn(fmt, ap);
va_end(ap);
exit(1);
@@ -79,7 +79,7 @@ void runes_mkdir_p(char *dir)
if (mkdir(new_path, 0755)) {
if (errno != EEXIST) {
- runes_die("couldn't create directory %s: %s\n",
+ runes_die("couldn't create directory %s: %s",
new_path, strerror(errno));
}
}
@@ -90,14 +90,29 @@ void runes_mkdir_p(char *dir)
}
if (stat(partial_path, &st)) {
- runes_die("couldn't stat %s: %s\n", partial_path, strerror(errno));
+ runes_die("couldn't stat %s: %s", partial_path, strerror(errno));
}
if (!S_ISDIR(st.st_mode)) {
- runes_die("couldn't create directory %s: %s\n",
+ runes_die("couldn't create directory %s: %s",
partial_path, strerror(EEXIST));
}
free(partial_path);
free(dir);
}
+
+static void runes_vwarn(const char *fmt, va_list ap)
+{
+ size_t fmt_len;
+ char *fmt_with_nl;
+
+ fmt_len = strlen(fmt);
+ fmt_with_nl = malloc(fmt_len + 2);
+ strcpy(fmt_with_nl, fmt);
+ fmt_with_nl[fmt_len] = '\n';
+ fmt_with_nl[fmt_len + 1] = '\0';
+
+ /* XXX make this do something else on windows */
+ vfprintf(stderr, fmt_with_nl, ap);
+}
diff --git a/src/window-xlib.c b/src/window-xlib.c
index dfa15b9..692029f 100644
--- a/src/window-xlib.c
+++ b/src/window-xlib.c
@@ -179,8 +179,7 @@ void runes_window_backend_create_window(RunesTerm *t, int argc, char *argv[])
NULL
);
if (w->ic == NULL) {
- runes_warn("failed\n");
- exit(1);
+ runes_die("failed");
}
XInternAtoms(w->dpy, atom_names, RUNES_NUM_ATOMS, False, w->atoms);