diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-01-20 23:46:31 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-01-21 01:34:36 -0500 |
commit | 9eb6a4456491c1b4dec8c1ff07c4b33220c3bab2 (patch) | |
tree | e357cc3ea0bf85d9977f6f43ee8e77a75790480f /src/nvim/ex_getln.c | |
parent | 03d8adda8e5101538893d8b7ddf547273bb4a26e (diff) | |
parent | f82e982bda49d15f19dbd72531a6c1125d863486 (diff) | |
download | rneovim-9eb6a4456491c1b4dec8c1ff07c4b33220c3bab2.tar.gz rneovim-9eb6a4456491c1b4dec8c1ff07c4b33220c3bab2.tar.bz2 rneovim-9eb6a4456491c1b4dec8c1ff07c4b33220c3bab2.zip |
Merge #3916 "Add support for binary numbers".
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index eca62da949..87a6bf8901 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -4767,35 +4767,40 @@ int del_history_idx(int histype, int idx) return TRUE; } -/* - * Get indices "num1,num2" that specify a range within a list (not a range of - * text lines in a buffer!) from a string. Used for ":history" and ":clist". - * Returns OK if parsed successfully, otherwise FAIL. - */ +/// Get indices that specify a range within a list (not a range of text lines +/// in a buffer!) from a string. Used for ":history" and ":clist". +/// +/// @param str string to parse range from +/// @param num1 from +/// @param num2 to +/// +/// @return OK if parsed successfully, otherwise FAIL. int get_list_range(char_u **str, int *num1, int *num2) { int len; - int first = FALSE; + int first = false; long num; *str = skipwhite(*str); - if (**str == '-' || ascii_isdigit(**str)) { /* parse "from" part of range */ - vim_str2nr(*str, NULL, &len, FALSE, FALSE, &num, NULL); + if (**str == '-' || ascii_isdigit(**str)) { // parse "from" part of range + vim_str2nr(*str, NULL, &len, false, false, false, &num, NULL); *str += len; *num1 = (int)num; - first = TRUE; + first = true; } *str = skipwhite(*str); - if (**str == ',') { /* parse "to" part of range */ + if (**str == ',') { // parse "to" part of range *str = skipwhite(*str + 1); - vim_str2nr(*str, NULL, &len, FALSE, FALSE, &num, NULL); + vim_str2nr(*str, NULL, &len, false, false, false, &num, NULL); if (len > 0) { *num2 = (int)num; *str = skipwhite(*str + len); - } else if (!first) /* no number given at all */ + } else if (!first) { // no number given at all return FAIL; - } else if (first) /* only one number given */ + } + } else if (first) { // only one number given *num2 = *num1; + } return OK; } |