mirror of
https://code.blicky.net/yorhel/ncdu.git
synced 2026-01-13 01:08: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 */
|
||||
int main(int argc, char **argv) {
|
||||
setlocale(LC_ALL, "");
|
||||
read_locale();
|
||||
argv_parse(argc, argv);
|
||||
|
||||
if(dir_ui == 2)
|
||||
|
|
|
|||
14
src/util.c
14
src/util.c
|
|
@ -28,9 +28,11 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <ncurses.h>
|
||||
#include <locale.h>
|
||||
|
||||
int winrows, wincols;
|
||||
int subwinr, subwinc;
|
||||
char thou_sep;
|
||||
|
||||
|
||||
char *cropstr(const char *from, int s) {
|
||||
|
|
@ -88,7 +90,7 @@ char *fullsize(int64_t from) {
|
|||
while(i--) {
|
||||
dat[j++] = tmp[i];
|
||||
if(i != 0 && i%3 == 0)
|
||||
dat[j++] = '.';
|
||||
dat[j++] = thou_sep;
|
||||
}
|
||||
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 ch;
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,9 @@ char *formatsize(int64_t );
|
|||
/* int2string with thousand separators */
|
||||
char *fullsize(int64_t);
|
||||
|
||||
/* read locale information from the environment */
|
||||
void read_locale();
|
||||
|
||||
/* recursively free()s a directory tree */
|
||||
void freedir(struct dir *);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue