commit 6a0d5b8fec45c008cf7fb9cdb66b103be6eeeda4
parent 7b601fdbe1eb15bd3511eb80005dda18d8953b51
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Mon, 13 Jun 2005 14:00:22 +0000
miscellaneous minor fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2649 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
7 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -197,6 +197,8 @@ CVS code -
- utils.c:
num_of_digits()
- Use a size_t instead of an int, and rename to digits(). (DLR)
+ align()
+ - Rename variable strp to str for consistency. (DLR)
- winio.c:
do_statusbar_output()
- Don't set answer_len until after it's been asserted that
@@ -206,6 +208,7 @@ CVS code -
for len plus a trailing multibyte character and/or tab. (DLR)
- Don't check for multicolumn characters if the NO_UTF8 flag
isn't set. (DLR)
+ - Free buf_mb when we're done using it. (DLR)
nanogetstr()
- Rename variable def to curranswer to avoid confusion. (DLR)
- Only declare and use the tabbed variable if DISABLE_TABCOMP
diff --git a/src/chars.c b/src/chars.c
@@ -265,11 +265,12 @@ char *make_mbchar(int chr, int *chr_mb_len)
wctomb(NULL, 0);
*chr_mb_len = 0;
}
+
+ align(&chr_mb);
} else {
#endif
*chr_mb_len = 1;
- chr_mb = charalloc(1);
- *chr_mb = (char)chr;
+ chr_mb = mallocstrncpy(NULL, (char *)&chr, 1);
#ifdef NANO_WIDE
}
#endif
diff --git a/src/files.c b/src/files.c
@@ -2801,6 +2801,7 @@ char *do_browser(char *path, DIR *dir)
if (width == 0)
width = filecols;
}
+
wmove(edit, editline, col);
}
diff --git a/src/nano.c b/src/nano.c
@@ -561,6 +561,7 @@ void help_init(void)
free(help_ptr);
}
+
ptr += sprintf(ptr, "\n");
}
@@ -1470,10 +1471,10 @@ bool do_next_word(bool allow_update)
* line. */
if (!is_word_mbchar(char_mb))
break;
+
/* If we haven't found it, then we've started on a word, so set
* started_on_word to TRUE. */
- else
- started_on_word = TRUE;
+ started_on_word = TRUE;
current_x += char_mb_len;
}
diff --git a/src/proto.h b/src/proto.h
@@ -181,7 +181,7 @@ char *control_mbrep(const char *c, char *crep, int *crep_len);
int mbwidth(const char *c);
int mb_cur_max(void);
char *make_mbchar(int chr, int *chr_mb_len);
-#if defined(ENABLE_NANORC) || defined(ENABLE_EXTRA)
+#if defined(ENABLE_NANORC) || defined(NANO_EXTRA)
char *make_mbstring(const char *str);
#endif
int parse_mbchar(const char *buf, char *chr, bool *bad_chr, size_t
@@ -549,7 +549,7 @@ int digits(size_t n);
void get_homedir(void);
bool parse_num(const char *str, ssize_t *val);
bool parse_line_column(const char *str, int *line, ssize_t *column);
-void align(char **strp);
+void align(char **str);
void null_at(char **data, size_t index);
void unsunder(char *str, size_t true_len);
void sunder(char *str);
diff --git a/src/utils.c b/src/utils.c
@@ -139,12 +139,12 @@ bool parse_line_column(const char *str, int *line, ssize_t *column)
}
/* Fix the memory allocation for a string. */
-void align(char **strp)
+void align(char **str)
{
- assert(strp != NULL);
+ assert(str != NULL);
- if (*strp != NULL)
- *strp = charealloc(*strp, strlen(*strp) + 1);
+ if (*str != NULL)
+ *str = charealloc(*str, strlen(*str) + 1);
}
/* Null a string at a certain index and align it. */
diff --git a/src/winio.c b/src/winio.c
@@ -2380,6 +2380,8 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
start_index += buf_mb_len;
}
+ free(buf_mb);
+
if (index < alloc_len - 1)
converted[index] = '\0';