aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_getln.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-01-20 23:46:31 -0500
committerJustin M. Keyes <justinkz@gmail.com>2016-01-21 01:34:36 -0500
commit9eb6a4456491c1b4dec8c1ff07c4b33220c3bab2 (patch)
treee357cc3ea0bf85d9977f6f43ee8e77a75790480f /src/nvim/ex_getln.c
parent03d8adda8e5101538893d8b7ddf547273bb4a26e (diff)
parentf82e982bda49d15f19dbd72531a6c1125d863486 (diff)
downloadrneovim-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.c31
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;
}