123
123
# define DO_FORMAT (force_color > 0 || (force_color != 0 && !cfile && colorize && interactive_mode))
124
# define DO_COLOR (force_color > 0 || (force_color != 0 && !cfile && colorize && interactive_mode) ? (colorize == 2 ? 2 : 1) : 0)
126
125
# define DO_FORMAT (force_color > 0 || (force_color != 0 && !cfile && interactive_mode))
127
# define DO_COLOR (force_color > 0 || (force_color != 0 && !cfile && colorize && interactive_mode) ? (colorize == 2 ? 2 : 1) : 0)
127
#define DO_COLOR (force_color >= 0 ? force_color : (!cfile && colorize && interactive_mode ? colorize : 0))
130
129
bool contains_unicode_char(const char *str) {
131
130
for(int i = strlen(str) - 1; i >= 0; i--) {
1706
1705
calc_arg += " ";
1708
1707
svar = argv[i];
1709
size_t i2 = svar.find_first_of(NUMBERS);
1710
if(i2 != string::npos && i2 != 0) {
1711
svalue = svar.substr(i2);
1708
size_t i2 = svar.find_first_of(NUMBERS "=");
1709
if(i2 != string::npos && i2 != 0 && svar[0] != '+' && (svar[i2] == '=' || i2 == 2) && (svar[i2] != '=' || i2 != svar.length() - 1)) {
1710
svalue = svar.substr(svar[i2] == '=' ? i2 + 1 : i2);
1712
1711
svar = svar.substr(0, i2);
1776
1775
string set_base_str = "base ";
1777
1776
if(!svalue.empty()) {
1778
1777
set_base_str += svalue;
1778
} else if(i + 1 < argc) {
1782
set_base_str += argv[i];
1780
set_base_str += argv[i];
1785
1782
set_option_strings.push_back(set_base_str);
1786
1783
} else if(!calc_arg_begun && (svar == "-c" || svar == "-color" || svar == "--color")) {
1788
} else if(!calc_arg_begun && svar == "+c") {
1784
if(!svalue.empty()) {
1785
force_color = s2i(svalue);
1790
1789
} else if(!calc_arg_begun && svar == "-p") {
1791
1790
programmers_mode = true;
1792
1791
string set_base_str = "base ";
1815
1814
} else if(!calc_arg_begun && (strcmp(argv[i], "-interactive") == 0 || strcmp(argv[i], "--interactive") == 0 || strcmp(argv[i], "-i") == 0)) {
1816
1815
interactive_mode = true;
1817
} else if(!calc_arg_begun && (strcmp(argv[i], "-list") == 0 || strcmp(argv[i], "--list") == 0 || strcmp(argv[i], "-l") == 0)) {
1816
} else if(!calc_arg_begun && (svar == "-list" || svar == "--list" || svar == "-l")) {
1819
if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1818
if(!svalue.empty()) {
1819
search_str = svalue;
1820
remove_blank_ends(search_str);
1821
} else if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1821
1823
search_str = argv[i];
1822
1824
remove_blank_ends(search_str);
1824
} else if(!calc_arg_begun && strcmp(argv[i], "--list-functions") == 0) {
1826
} else if(!calc_arg_begun && svar == "--list-functions") {
1825
1827
list_type = 'f';
1826
if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1828
if(!svalue.empty()) {
1829
search_str = svalue;
1830
remove_blank_ends(search_str);
1831
} else if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1828
1833
search_str = argv[i];
1829
1834
remove_blank_ends(search_str);
1831
} else if(!calc_arg_begun && strcmp(argv[i], "--list-units") == 0) {
1836
} else if(!calc_arg_begun && svar == "--list-units") {
1832
1837
list_type = 'u';
1833
if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1838
if(!svalue.empty()) {
1839
search_str = svalue;
1840
remove_blank_ends(search_str);
1841
} else if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1835
1843
search_str = argv[i];
1836
1844
remove_blank_ends(search_str);
1838
} else if(!calc_arg_begun && strcmp(argv[i], "--list-variables") == 0) {
1846
} else if(!calc_arg_begun && svar == "--list-variables") {
1839
1847
list_type = 'v';
1840
if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1848
if(!svalue.empty()) {
1849
search_str = svalue;
1850
remove_blank_ends(search_str);
1851
} else if(i + 1 < argc && strlen(argv[i + 1]) > 0 && argv[i + 1][0] != '-' && argv[i + 1][0] != '+') {
1842
1853
search_str = argv[i];
1843
1854
remove_blank_ends(search_str);
1854
1865
load_datasets = false;
1855
1866
} else if(!calc_arg_begun && (strcmp(argv[i], "-nodefs") == 0 || strcmp(argv[i], "-n") == 0)) {
1856
1867
load_global_defs = false;
1857
} else if(!calc_arg_begun && (strcmp(argv[i], "-time") == 0 || strcmp(argv[i], "--time") == 0 || strcmp(argv[i], "-m") == 0)) {
1868
} else if(!calc_arg_begun && (svar == "-time" || svar == "--time" || svar == "-m")) {
1869
if(!svalue.empty()) {
1870
i_maxtime += strtol(svalue.c_str(), NULL, 10);
1871
if(i_maxtime < 0) i_maxtime = 0;
1872
} else if(i + 1 < argc) {
1860
1874
i_maxtime += strtol(argv[i], NULL, 10);
1861
1875
if(i_maxtime < 0) i_maxtime = 0;
1863
} else if(!calc_arg_begun && (strcmp(argv[i], "-set") == 0 || strcmp(argv[i], "--set") == 0 || strcmp(argv[i], "-s") == 0)) {
1877
} else if(!calc_arg_begun && (svar == "-set" || svar == "--set" || svar == "-s")) {
1878
if(!svalue.empty()) {
1879
set_option_strings.push_back(svalue);
1880
} else if(i + 1 < argc) {
1866
1882
set_option_strings.push_back(argv[i]);
1868
1884
puts(_("No option and value specified for set command."));
1870
} else if(!calc_arg_begun && (strcmp(argv[i], "-file") == 0 || strcmp(argv[i], "-f") == 0 || strcmp(argv[i], "--file") == 0)) {
1886
} else if(!calc_arg_begun && (svar == "-file" || svar == "-f" || svar == "--file")) {
1887
if(!svalue.empty()) {
1888
command_file = svalue;
1889
remove_blank_ends(svalue);
1890
} else if(i + 1 < argc) {
1873
1892
command_file = argv[i];
1874
1893
remove_blank_ends(command_file);