mirror of
https://code.blicky.net/yorhel/ncdu.git
synced 2026-01-16 02:28:41 -09:00
use the locale's thousand seperator, if available
This commit is contained in:
parent
fdd86924e5
commit
c4f5f370ac
3 changed files with 17 additions and 1 deletions
|
|
@ -246,6 +246,7 @@ static void init_nc() {
|
||||||
/* main program */
|
/* main program */
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
setlocale(LC_ALL, "");
|
setlocale(LC_ALL, "");
|
||||||
|
read_locale();
|
||||||
argv_parse(argc, argv);
|
argv_parse(argc, argv);
|
||||||
|
|
||||||
if(dir_ui == 2)
|
if(dir_ui == 2)
|
||||||
|
|
|
||||||
14
src/util.c
14
src/util.c
|
|
@ -28,9 +28,11 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
|
#include <locale.h>
|
||||||
|
|
||||||
int winrows, wincols;
|
int winrows, wincols;
|
||||||
int subwinr, subwinc;
|
int subwinr, subwinc;
|
||||||
|
char thou_sep;
|
||||||
|
|
||||||
|
|
||||||
char *cropstr(const char *from, int s) {
|
char *cropstr(const char *from, int s) {
|
||||||
|
|
@ -88,7 +90,7 @@ char *fullsize(int64_t from) {
|
||||||
while(i--) {
|
while(i--) {
|
||||||
dat[j++] = tmp[i];
|
dat[j++] = tmp[i];
|
||||||
if(i != 0 && i%3 == 0)
|
if(i != 0 && i%3 == 0)
|
||||||
dat[j++] = '.';
|
dat[j++] = thou_sep;
|
||||||
}
|
}
|
||||||
dat[j] = '\0';
|
dat[j] = '\0';
|
||||||
|
|
||||||
|
|
@ -96,6 +98,16 @@ char *fullsize(int64_t from) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void read_locale() {
|
||||||
|
char *locale_thou_sep = localeconv()->thousands_sep;
|
||||||
|
if (locale_thou_sep && 1 == strlen(locale_thou_sep)) {
|
||||||
|
thou_sep = locale_thou_sep[0];
|
||||||
|
} else {
|
||||||
|
thou_sep = '.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int ncresize(int minrows, int mincols) {
|
int ncresize(int minrows, int mincols) {
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,9 @@ char *formatsize(int64_t );
|
||||||
/* int2string with thousand separators */
|
/* int2string with thousand separators */
|
||||||
char *fullsize(int64_t);
|
char *fullsize(int64_t);
|
||||||
|
|
||||||
|
/* read locale information from the environment */
|
||||||
|
void read_locale();
|
||||||
|
|
||||||
/* recursively free()s a directory tree */
|
/* recursively free()s a directory tree */
|
||||||
void freedir(struct dir *);
|
void freedir(struct dir *);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue