From 6627a47305064b940b4ba882b49118ec2e619928 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Thu, 6 Aug 2020 15:01:08 +0100 Subject: [PATCH] s/xbm_read_file()/grab_file/() --- include/common/grab-file.h | 17 +++++++++++++++++ src/common/grab-file.c | 31 +++++++++++++++++++++++++++++++ src/common/meson.build | 1 + src/theme/xbm/parse.c | 21 --------------------- src/theme/xbm/xbm.c | 3 ++- 5 files changed, 51 insertions(+), 22 deletions(-) create mode 100644 include/common/grab-file.h create mode 100644 src/common/grab-file.c diff --git a/include/common/grab-file.h b/include/common/grab-file.h new file mode 100644 index 00000000..38aaddc7 --- /dev/null +++ b/include/common/grab-file.h @@ -0,0 +1,17 @@ +/* + * Read file into memory + * + * Copyright Johan Malm 2020 + */ + +#ifndef __LABWC_GRAB_FILE_H +#define __LABWC_GRAB_FILE_H + +/** + * grab_file - read file into memory buffer + * @filename: file to read + * Returns pointer to buffer. Free with free(). + */ +char *grab_file(const char *filename); + +#endif /* __LABWC_GRAB_FILE_H */ diff --git a/src/common/grab-file.c b/src/common/grab-file.c new file mode 100644 index 00000000..ad3f9d2b --- /dev/null +++ b/src/common/grab-file.c @@ -0,0 +1,31 @@ +/* + * Read file into memory + * + * Copyright Johan Malm 2020 + */ + +#define _POSIX_C_SOURCE 200809L +#include "common/grab-file.h" +#include "common/buf.h" + +#include + +char *grab_file(const char *filename) +{ + char *line = NULL; + size_t len = 0; + FILE *stream = fopen(filename, "r"); + if (!stream) + return NULL; + struct buf buffer; + buf_init(&buffer); + while ((getline(&line, &len, stream) != -1)) { + char *p = strrchr(line, '\n'); + if (p) + *p = '\0'; + buf_add(&buffer, line); + } + free(line); + fclose(stream); + return (buffer.buf); +} diff --git a/src/common/meson.build b/src/common/meson.build index fe8e710d..4a471ab1 100644 --- a/src/common/meson.build +++ b/src/common/meson.build @@ -1,5 +1,6 @@ labwc_sources += files( 'buf.c', 'font.c', + 'grab-file.c', 'spawn.c', ) diff --git a/src/theme/xbm/parse.c b/src/theme/xbm/parse.c index 89bbbcf0..491ef269 100644 --- a/src/theme/xbm/parse.c +++ b/src/theme/xbm/parse.c @@ -11,7 +11,6 @@ #include #include -#include "common/buf.h" #include "theme/xbm/parse.h" /* TODO: should be window.active.button.unpressed.image.color */ @@ -85,23 +84,3 @@ struct pixmap xbm_create_pixmap_builtin(const char *button) process_bytes(&pixmap, t); return pixmap; } - -char *xbm_read_file(const char *filename) -{ - char *line = NULL; - size_t len = 0; - FILE *stream = fopen(filename, "r"); - if (!stream) - return NULL; - struct buf buffer; - buf_init(&buffer); - while ((getline(&line, &len, stream) != -1)) { - char *p = strrchr(line, '\n'); - if (p) - *p = '\0'; - buf_add(&buffer, line); - } - free(line); - fclose(stream); - return (buffer.buf); -} diff --git a/src/theme/xbm/xbm.c b/src/theme/xbm/xbm.c index 6f37462b..6fa98933 100644 --- a/src/theme/xbm/xbm.c +++ b/src/theme/xbm/xbm.c @@ -12,6 +12,7 @@ #include "theme/xbm/parse.h" #include "theme/theme-dir.h" #include "config/rcxml.h" +#include "common/grab-file.h" /* built-in 6x6 buttons */ char close_button_normal[] = { 0x33, 0x3f, 0x1e, 0x1e, 0x3f, 0x33 }; @@ -50,7 +51,7 @@ static char *xbm_path(const char *button) static void load_button(struct wlr_renderer *renderer, const char *filename, struct wlr_texture **texture, char *button) { - char *buffer = xbm_read_file(xbm_path(filename)); + char *buffer = grab_file(xbm_path(filename)); if (!buffer) goto out; fprintf(stderr, "loading %s\n", filename); -- 2.52.0