X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libi3%2Fdpi.c;h=d15e35be78effe198e52e569d85bd2c8025a927e;hb=052e96d3232ef644870fd514b39d2fa2a1ccf22b;hp=93a3c6f6a99f1074d333adb3ebdf6250f671beb7;hpb=d29d908003b0acb0fa9fa0e9618186931423a20e;p=i3%2Fi3 diff --git a/libi3/dpi.c b/libi3/dpi.c index 93a3c6f6..d15e35be 100644 --- a/libi3/dpi.c +++ b/libi3/dpi.c @@ -43,19 +43,18 @@ void init_dpi(void) { } char *endptr; - dpi = strtol(resource, &endptr, 10); - if (dpi == LONG_MAX || dpi == LONG_MIN || dpi < 0 || *endptr != '\0' || endptr == resource) { + double in_dpi = strtod(resource, &endptr); + if (in_dpi == HUGE_VAL || dpi < 0 || *endptr != '\0' || endptr == resource) { ELOG("Xft.dpi = %s is an invalid number and couldn't be parsed.\n", resource); dpi = 0; goto init_dpi_end; } + dpi = lround(in_dpi); DLOG("Found Xft.dpi = %ld.\n", dpi); init_dpi_end: - if (resource != NULL) { - free(resource); - } + free(resource); if (database != NULL) { xcb_xrm_database_free(database);