aboutsummaryrefslogtreecommitdiff
path: root/src/garray.c
diff options
context:
space:
mode:
authorDavid Z. Chen <david.z.chen@outlook.com>2014-03-10 03:48:12 -0700
committerThiago de Arruda <tpadilha84@gmail.com>2014-03-16 12:00:41 -0300
commitbaab23827194175e811cfaccd287e9438f1d1b6d (patch)
tree72d3d35fc2680149fdbcc32a9d068e6a7c821354 /src/garray.c
parent8a6118ccaced623b9e6d854e3a41fbd9d6fc68df (diff)
downloadrneovim-baab23827194175e811cfaccd287e9438f1d1b6d.tar.gz
rneovim-baab23827194175e811cfaccd287e9438f1d1b6d.tar.bz2
rneovim-baab23827194175e811cfaccd287e9438f1d1b6d.zip
Issue #311 - Clean up blowfish.c/h, charset.c/h, diff.c/h, digraph.c/h, garray.c/h, hashtab.c/h, popupmnu.c/h, sha256.c/h, version.c/h. Update uncrustify to move logical operators to the beginning of the line when splitting. Also, clean up arabic.c/h and farsi.c/h
Diffstat (limited to 'src/garray.c')
-rw-r--r--src/garray.c118
1 files changed, 68 insertions, 50 deletions
diff --git a/src/garray.c b/src/garray.c
index b941233ed1..f991498a2b 100644
--- a/src/garray.c
+++ b/src/garray.c
@@ -1,39 +1,38 @@
-/*
- * Functions for handling growing arrays.
- */
+/// @file garray.c
+///
+/// Functions for handling growing arrays.
#include "vim.h"
#include "ascii.h"
#include "misc2.h"
#include "garray.h"
-//#include "globals.h"
+
+// #include "globals.h"
#include "memline.h"
-/*
- * Clear an allocated growing array.
- */
+/// Clear an allocated growing array.
void ga_clear(garray_T *gap)
{
vim_free(gap->ga_data);
ga_init(gap);
}
-/*
- * Clear a growing array that contains a list of strings.
- */
+/// Clear a growing array that contains a list of strings.
+///
+/// @param gap
void ga_clear_strings(garray_T *gap)
{
int i;
-
- for (i = 0; i < gap->ga_len; ++i)
+ for (i = 0; i < gap->ga_len; ++i) {
vim_free(((char_u **)(gap->ga_data))[i]);
+ }
ga_clear(gap);
}
-/*
- * Initialize a growing array. Don't forget to set ga_itemsize and
- * ga_growsize! Or use ga_init2().
- */
+/// Initialize a growing array. Don't forget to set ga_itemsize and
+/// ga_growsize! Or use ga_init2().
+///
+/// @param gap
void ga_init(garray_T *gap)
{
gap->ga_data = NULL;
@@ -41,6 +40,11 @@ void ga_init(garray_T *gap)
gap->ga_len = 0;
}
+/// Initialize a growing array.
+///
+/// @param gap
+/// @param itemsize
+/// @param growsize
void ga_init2(garray_T *gap, int itemsize, int growsize)
{
ga_init(gap);
@@ -48,24 +52,30 @@ void ga_init2(garray_T *gap, int itemsize, int growsize)
gap->ga_growsize = growsize;
}
-/*
- * Make room in growing array "gap" for at least "n" items.
- * Return FAIL for failure, OK otherwise.
- */
+/// Make room in growing array "gap" for at least "n" items.
+///
+/// @param gap
+/// @param n
+///
+/// @return FAIL for failure, OK otherwise.
int ga_grow(garray_T *gap, int n)
{
size_t old_len;
size_t new_len;
- char_u *pp;
+ char_u *pp;
if (gap->ga_maxlen - gap->ga_len < n) {
- if (n < gap->ga_growsize)
+ if (n < gap->ga_growsize) {
n = gap->ga_growsize;
+ }
new_len = gap->ga_itemsize * (gap->ga_len + n);
pp = (gap->ga_data == NULL)
- ? alloc((unsigned)new_len) : vim_realloc(gap->ga_data, new_len);
- if (pp == NULL)
+ ? alloc((unsigned)new_len)
+ : vim_realloc(gap->ga_data, new_len);
+
+ if (pp == NULL) {
return FAIL;
+ }
old_len = gap->ga_itemsize * gap->ga_maxlen;
vim_memset(pp + old_len, 0, new_len - old_len);
gap->ga_maxlen = gap->ga_len + n;
@@ -74,71 +84,79 @@ int ga_grow(garray_T *gap, int n)
return OK;
}
-/*
- * For a growing array that contains a list of strings: concatenate all the
- * strings with a separating comma.
- * Returns NULL when out of memory.
- */
-char_u *ga_concat_strings(garray_T *gap)
+/// For a growing array that contains a list of strings: concatenate all the
+/// strings with a separating comma.
+///
+/// @param gap
+///
+/// @returns NULL when out of memory.
+char_u* ga_concat_strings(garray_T *gap)
{
int i;
int len = 0;
- char_u *s;
+ char_u *s;
- for (i = 0; i < gap->ga_len; ++i)
+ for (i = 0; i < gap->ga_len; ++i) {
len += (int)STRLEN(((char_u **)(gap->ga_data))[i]) + 1;
+ }
s = alloc(len + 1);
+
if (s != NULL) {
*s = NUL;
+
for (i = 0; i < gap->ga_len; ++i) {
- if (*s != NUL)
+ if (*s != NUL) {
STRCAT(s, ",");
+ }
STRCAT(s, ((char_u **)(gap->ga_data))[i]);
}
}
return s;
}
-/*
- * Concatenate a string to a growarray which contains characters.
- * Note: Does NOT copy the NUL at the end!
- */
+/// Concatenate a string to a growarray which contains characters.
+/// Note: Does NOT copy the NUL at the end!
+///
+/// @param gap
+/// @param s
void ga_concat(garray_T *gap, char_u *s)
{
int len = (int)STRLEN(s);
-
if (ga_grow(gap, len) == OK) {
mch_memmove((char *)gap->ga_data + gap->ga_len, s, (size_t)len);
gap->ga_len += len;
}
}
-/*
- * Append one byte to a growarray which contains bytes.
- */
+/// Append one byte to a growarray which contains bytes.
+///
+/// @param gap
+/// @param c
void ga_append(garray_T *gap, int c)
{
if (ga_grow(gap, 1) == OK) {
- *((char *)gap->ga_data + gap->ga_len) = c;
+ *((char *) gap->ga_data + gap->ga_len) = c;
++gap->ga_len;
}
}
#if defined(UNIX) || defined(WIN3264)
-/*
- * Append the text in "gap" below the cursor line and clear "gap".
- */
+
+/// Append the text in "gap" below the cursor line and clear "gap".
+///
+/// @param gap
void append_ga_line(garray_T *gap)
{
- /* Remove trailing CR. */
- if (gap->ga_len > 0
+ // Remove trailing CR.
+ if ((gap->ga_len > 0)
&& !curbuf->b_p_bin
- && ((char_u *)gap->ga_data)[gap->ga_len - 1] == CAR)
- --gap->ga_len;
+ && (((char_u *)gap->ga_data)[gap->ga_len - 1] == CAR)) {
+ gap->ga_len--;
+ }
ga_append(gap, NUL);
ml_append(curwin->w_cursor.lnum++, gap->ga_data, 0, FALSE);
gap->ga_len = 0;
}
-#endif
+#endif // if defined(UNIX) || defined(WIN3264)