mirror of
https://github.com/vale981/bspwm
synced 2025-03-05 09:51:38 -05:00
Proper strings, drop non POSIX strdup
This commit is contained in:
parent
f96be0b22e
commit
aa1c50417d
8 changed files with 37 additions and 49 deletions
|
@ -6,6 +6,7 @@
|
|||
#define MIN(A, B) ((A) < (B) ? (A) : (B))
|
||||
#define BOOLSTR(A) ((A) ? "true" : "false")
|
||||
|
||||
#define MAXLEN 256
|
||||
#define MOVE_RESIZE_MASK XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT
|
||||
|
||||
#if 1
|
||||
|
|
12
luautils.c
12
luautils.c
|
@ -1,5 +1,3 @@
|
|||
#define _BSD_SOURCE
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <lua.h>
|
||||
|
@ -24,19 +22,15 @@ int has_table(lua_State *L, char *name)
|
|||
return result;
|
||||
}
|
||||
|
||||
char *string_expr(lua_State *L, char *expr, char* fallback)
|
||||
void string_expr(lua_State *L, char *dest, char *expr, const char* fallback)
|
||||
{
|
||||
char *result;
|
||||
if (eval_expr(L, expr) == 0) {
|
||||
if (lua_isstring(L, -1))
|
||||
result = strdup(lua_tostring(L, -1));
|
||||
strncpy(dest, lua_tostring(L, -1), sizeof(dest));
|
||||
else if (fallback != NULL)
|
||||
result = strdup(fallback);
|
||||
else
|
||||
result = NULL;
|
||||
strncpy(dest, fallback, sizeof(dest));
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
double double_expr(lua_State *L, char *expr, double fallback)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
int eval_expr(lua_State *, char *);
|
||||
int has_table(lua_State *, char *);
|
||||
char *string_expr(lua_State *, char *, char *);
|
||||
void string_expr(lua_State *, char *, char *, const char *);
|
||||
double double_expr(lua_State *, char *, double);
|
||||
int int_expr(lua_State *, char *, int);
|
||||
bool bool_expr(lua_State *, char *, bool);
|
||||
|
|
23
messages.c
23
messages.c
|
@ -1,5 +1,3 @@
|
|||
#define _BSD_SOURCE
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "helpers.h"
|
||||
|
@ -101,32 +99,25 @@ void set_setting(char *name, char *value)
|
|||
} else if (strcmp(name, "bottom_padding") == 0) {
|
||||
sscanf(value, "%i", &bottom_padding);
|
||||
} else if (strcmp(name, "normal_border_color") == 0) {
|
||||
free(normal_border_color);
|
||||
normal_border_color = strdup(value);
|
||||
strncpy(normal_border_color, value, sizeof(normal_border_color));
|
||||
normal_border_color_pxl = get_color(normal_border_color);
|
||||
} else if (strcmp(name, "active_border_color") == 0) {
|
||||
free(active_border_color);
|
||||
active_border_color = strdup(value);
|
||||
strncpy(active_border_color, value, sizeof(active_border_color));
|
||||
active_border_color_pxl = get_color(active_border_color);
|
||||
} else if (strcmp(name, "inner_border_color") == 0) {
|
||||
free(inner_border_color);
|
||||
inner_border_color = strdup(value);
|
||||
strncpy(inner_border_color, value, sizeof(inner_border_color));
|
||||
inner_border_color_pxl = get_color(inner_border_color);
|
||||
} else if (strcmp(name, "outer_border_color") == 0) {
|
||||
free(outer_border_color);
|
||||
outer_border_color = strdup(value);
|
||||
strncpy(outer_border_color, value, sizeof(outer_border_color));
|
||||
outer_border_color_pxl = get_color(outer_border_color);
|
||||
} else if (strcmp(name, "presel_border_color") == 0) {
|
||||
free(presel_border_color);
|
||||
presel_border_color = strdup(value);
|
||||
strncpy(presel_border_color, value, sizeof(presel_border_color));
|
||||
presel_border_color_pxl = get_color(presel_border_color);
|
||||
} else if (strcmp(name, "locked_border_color") == 0) {
|
||||
free(locked_border_color);
|
||||
locked_border_color = strdup(value);
|
||||
strncpy(locked_border_color, value, sizeof(locked_border_color));
|
||||
locked_border_color_pxl = get_color(locked_border_color);
|
||||
} else if (strcmp(name, "wm_name") == 0) {
|
||||
free(wm_name);
|
||||
wm_name = strdup(value);
|
||||
strncpy(wm_name, value, sizeof(wm_name));
|
||||
} else if (strcmp(name, "adaptive_window_border") == 0) {
|
||||
if (is_bool(value))
|
||||
adaptive_window_border = parse_bool(value);
|
||||
|
|
16
settings.c
16
settings.c
|
@ -1,5 +1,3 @@
|
|||
#define _BSD_SOURCE
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@ -33,12 +31,12 @@ void load_settings(void)
|
|||
|
||||
void apply_settings(lua_State *L)
|
||||
{
|
||||
normal_border_color = string_expr(L, "normal_border_color", NORMAL_BORDER_COLOR);
|
||||
active_border_color = string_expr(L, "active_border_color", ACTIVE_BORDER_COLOR);
|
||||
inner_border_color = string_expr(L, "inner_border_color", INNER_BORDER_COLOR);
|
||||
outer_border_color = string_expr(L, "outer_border_color", OUTER_BORDER_COLOR);
|
||||
presel_border_color = string_expr(L, "presel_border_color", PRESEL_BORDER_COLOR);
|
||||
locked_border_color = string_expr(L, "locked_border_color", LOCKED_BORDER_COLOR);
|
||||
string_expr(L, normal_border_color, "normal_border_color", NORMAL_BORDER_COLOR);
|
||||
string_expr(L, active_border_color, "active_border_color", ACTIVE_BORDER_COLOR);
|
||||
string_expr(L, inner_border_color, "inner_border_color", INNER_BORDER_COLOR);
|
||||
string_expr(L, outer_border_color, "outer_border_color", OUTER_BORDER_COLOR);
|
||||
string_expr(L, presel_border_color, "presel_border_color", PRESEL_BORDER_COLOR);
|
||||
string_expr(L, locked_border_color, "locked_border_color", LOCKED_BORDER_COLOR);
|
||||
|
||||
normal_border_color_pxl = get_color(normal_border_color);
|
||||
active_border_color_pxl = get_color(active_border_color);
|
||||
|
@ -47,7 +45,7 @@ void apply_settings(lua_State *L)
|
|||
presel_border_color_pxl = get_color(presel_border_color);
|
||||
locked_border_color_pxl = get_color(locked_border_color);
|
||||
|
||||
wm_name = string_expr(L, "wm_name", WM_NAME);
|
||||
string_expr(L, wm_name, "wm_name", WM_NAME);
|
||||
|
||||
adaptive_window_border = bool_expr(L, "adaptive_window_border", ADAPTIVE_WINDOW_BORDER);
|
||||
adaptive_window_gap = bool_expr(L, "adaptive_window_gap", ADAPTIVE_WINDOW_GAP);
|
||||
|
|
14
settings.h
14
settings.h
|
@ -32,14 +32,14 @@
|
|||
#define PRESEL_BORDER_COLOR "#331122"
|
||||
#define LOCKED_BORDER_COLOR "#331122"
|
||||
|
||||
char *normal_border_color;
|
||||
char *active_border_color;
|
||||
char *inner_border_color;
|
||||
char *outer_border_color;
|
||||
char *presel_border_color;
|
||||
char *locked_border_color;
|
||||
char normal_border_color[MAXLEN];
|
||||
char active_border_color[MAXLEN];
|
||||
char inner_border_color[MAXLEN];
|
||||
char outer_border_color[MAXLEN];
|
||||
char presel_border_color[MAXLEN];
|
||||
char locked_border_color[MAXLEN];
|
||||
|
||||
char *wm_name;
|
||||
char wm_name[MAXLEN];
|
||||
|
||||
uint32_t normal_border_color_pxl;
|
||||
uint32_t active_border_color_pxl;
|
||||
|
|
15
types.c
15
types.c
|
@ -1,5 +1,3 @@
|
|||
#define _BSD_SOURCE
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <xcb/xcb.h>
|
||||
|
@ -20,7 +18,7 @@ node_t *make_node(void)
|
|||
desktop_t *make_desktop(void)
|
||||
{
|
||||
desktop_t *d = malloc(sizeof(desktop_t));
|
||||
d->name = strdup(DESK_NAME);
|
||||
strncpy(d->name, DESK_NAME, sizeof(d->name));
|
||||
d->layout = LAYOUT_TILED;
|
||||
d->prev = d->next = NULL;
|
||||
d->root = d->focus = d->last_focus = NULL;
|
||||
|
@ -31,8 +29,13 @@ client_t *make_client(xcb_window_t win)
|
|||
{
|
||||
client_t *c = malloc(sizeof(client_t));
|
||||
c->window = win;
|
||||
c->floating = false;
|
||||
c->fullscreen = false;
|
||||
c->locked = false;
|
||||
c->floating = c->fullscreen = c->locked = false;
|
||||
return c;
|
||||
}
|
||||
|
||||
rule_t *make_rule(void)
|
||||
{
|
||||
rule_t *r = malloc(sizeof(rule_t));
|
||||
r->floating = r->fullscreen = r->locked = r->centered = false;
|
||||
return r;
|
||||
}
|
||||
|
|
3
types.h
3
types.h
|
@ -78,7 +78,7 @@ struct node_t {
|
|||
|
||||
typedef struct desktop_t desktop_t;
|
||||
struct desktop_t {
|
||||
char *name;
|
||||
char name[MAXLEN];
|
||||
layout_t layout;
|
||||
node_t *root;
|
||||
node_t *focus;
|
||||
|
@ -95,6 +95,7 @@ struct rule_t {
|
|||
bool floating;
|
||||
bool fullscreen;
|
||||
bool locked;
|
||||
bool centered;
|
||||
rule_t *next;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue