aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/indent_c.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-09-13 19:32:06 -0700
committerGitHub <noreply@github.com>2019-09-13 19:32:06 -0700
commit9cf8cf605d85ec043d4e39f73ac42c7482c6f901 (patch)
treeb0a8ec8985c5bdfb1882ee847ff64b42c98d3e0a /src/nvim/indent_c.c
parent427cf16e44d047c14e0ca1b95eb09fc8b8eb2f3d (diff)
parent6aae0e7c943267d2109ae20ec5086791c3b94a5e (diff)
downloadrneovim-9cf8cf605d85ec043d4e39f73ac42c7482c6f901.tar.gz
rneovim-9cf8cf605d85ec043d4e39f73ac42c7482c6f901.tar.bz2
rneovim-9cf8cf605d85ec043d4e39f73ac42c7482c6f901.zip
Merge #11015 from justinmk/getdigits
getdigits: introduce `strict`, `def` parameters
Diffstat (limited to 'src/nvim/indent_c.c')
-rw-r--r--src/nvim/indent_c.c38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c
index 3938da761b..1ca1f3dae5 100644
--- a/src/nvim/indent_c.c
+++ b/src/nvim/indent_c.c
@@ -1675,25 +1675,27 @@ void parse_cino(buf_T *buf)
for (p = buf->b_p_cino; *p; ) {
l = p++;
- if (*p == '-')
- ++p;
- char_u *digits_start = p; /* remember where the digits start */
- int n = getdigits_int(&p);
+ if (*p == '-') {
+ p++;
+ }
+ char_u *digits_start = p; // remember where the digits start
+ int n = getdigits_int(&p, true, 0);
divider = 0;
- if (*p == '.') { /* ".5s" means a fraction */
+ if (*p == '.') { // ".5s" means a fraction.
fraction = atoi((char *)++p);
while (ascii_isdigit(*p)) {
- ++p;
- if (divider)
+ p++;
+ if (divider) {
divider *= 10;
- else
+ } else {
divider = 10;
+ }
}
}
- if (*p == 's') { /* "2s" means two times 'shiftwidth' */
- if (p == digits_start)
- n = sw; /* just "s" is one 'shiftwidth' */
- else {
+ if (*p == 's') { // "2s" means two times 'shiftwidth'.
+ if (p == digits_start) {
+ n = sw; // just "s" is one 'shiftwidth'.
+ } else {
n *= sw;
if (divider)
n += (sw * fraction + divider / 2) / divider;
@@ -1910,15 +1912,15 @@ int get_c_indent(void)
int what = 0;
while (*p != NUL && *p != ':') {
- if (*p == COM_START || *p == COM_END || *p == COM_MIDDLE)
+ if (*p == COM_START || *p == COM_END || *p == COM_MIDDLE) {
what = *p++;
- else if (*p == COM_LEFT || *p == COM_RIGHT)
+ } else if (*p == COM_LEFT || *p == COM_RIGHT) {
align = *p++;
- else if (ascii_isdigit(*p) || *p == '-') {
- off = getdigits_int(&p);
+ } else if (ascii_isdigit(*p) || *p == '-') {
+ off = getdigits_int(&p, true, 0);
+ } else {
+ p++;
}
- else
- ++p;
}
if (*p == ':')