Skip to content
Snippets Groups Projects
Commit c4f5f370 authored by Chris West (Faux)'s avatar Chris West (Faux)
Browse files

use the locale's thousand seperator, if available

parent fdd86924
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
......@@ -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 *);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment