s/numlen/log10/g

master
Drew DeVault 9 years ago
parent ed68571815
commit 038bb8cc7c

@ -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;

@ -10,11 +10,6 @@
*/
int wrap(int i, int max);
/**
* Count number of digits in int
*/
int numlen(int n);
/**
* Get modifier mask from modifier name.
*

@ -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;

@ -10,6 +10,7 @@ target_link_libraries(swaygrab
sway-common
${JSONC_LIBRARIES}
rt
m
)
install(

@ -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);

Loading…
Cancel
Save