aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/util.c10
-rw-r--r--include/util.h5
-rw-r--r--sway/commands.c3
-rw-r--r--swaygrab/CMakeLists.txt1
-rw-r--r--swaygrab/main.c4
5 files changed, 5 insertions, 18 deletions
diff --git a/common/util.c b/common/util.c
index 243f90a8..7602216c 100644
--- a/common/util.c
+++ b/common/util.c
@@ -4,16 +4,6 @@ int wrap(int i, int max) {
return ((i % max) + max) % max;
}
-int numlen(int n) {
- if (n >= 1000000) return 7;
- if (n >= 100000) return 6;
- if (n >= 10000) return 5;
- if (n >= 1000) return 4;
- if (n >= 100) return 3;
- if (n >= 10) return 2;
- return 1;
-}
-
static struct modifier_key {
char *name;
uint32_t mod;
diff --git a/include/util.h b/include/util.h
index dc47e343..7f4b3ace 100644
--- a/include/util.h
+++ b/include/util.h
@@ -11,11 +11,6 @@
int wrap(int i, int max);
/**
- * Count number of digits in int
- */
-int numlen(int n);
-
-/**
* Get modifier mask from modifier name.
*
* Returns the modifer mask or 0 if the name isn't found.
diff --git a/sway/commands.c b/sway/commands.c
index 9f6e5032..58fc4aa5 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -14,6 +14,7 @@
#include <limits.h>
#include <float.h>
#include <libinput.h>
+#include <math.h>
#include "stringop.h"
#include "layout.h"
#include "focus.h"
@@ -1580,7 +1581,7 @@ static struct cmd_results *cmd_bar(int argc, char **argv) {
int i;
for (i = 0; i < config->bars->length; ++i) {
if (bar == config->bars->items[i]) {
- const int len = 5 + numlen(i); // "bar-" + i + \0
+ const int len = 5 + log10(i) + 1; // "bar-" + i + \0
bar->id = malloc(len * sizeof(char));
snprintf(bar->id, len, "bar-%d", i);
break;
diff --git a/swaygrab/CMakeLists.txt b/swaygrab/CMakeLists.txt
index 9035ac8b..9bd06c08 100644
--- a/swaygrab/CMakeLists.txt
+++ b/swaygrab/CMakeLists.txt
@@ -10,6 +10,7 @@ target_link_libraries(swaygrab
sway-common
${JSONC_LIBRARIES}
rt
+ m
)
install(
diff --git a/swaygrab/main.c b/swaygrab/main.c
index 82d623e7..b944222c 100644
--- a/swaygrab/main.c
+++ b/swaygrab/main.c
@@ -39,7 +39,7 @@ void grab_and_apply_magick(const char *file, const char *output,
const char *fmt = "convert -depth 8 -size %dx%d+0 rgba:- -flip %s";
char *cmd = malloc(strlen(fmt) - 6 /*args*/
- + numlen(width) + numlen(height) + strlen(file) + 1);
+ + log10(width) + 1 + log10(height) + 1 + strlen(file) + 1);
sprintf(cmd, fmt, width, height, file);
FILE *f = popen(cmd, "w");
@@ -72,7 +72,7 @@ void grab_and_apply_movie_magic(const char *file, const char *output,
"-video_size %dx%d -pixel_format argb "
"-i pipe:0 -r %d -vf vflip %s";
char *cmd = malloc(strlen(fmt) - 8 /*args*/
- + numlen(width) + numlen(height) + numlen(framerate) * 2
+ + log10(width) + 1 + log10(height) + 1 + log10(framerate) + 1 * 2
+ strlen(file) + 1);
sprintf(cmd, fmt, framerate, width, height, framerate, file);