summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-06-29 14:17:02 +0200
committerBram Moolenaar <Bram@vim.org>2013-06-29 14:17:02 +0200
commitfe17e7640d242e717e9498158570fe3eea2a769b (patch)
treefb6ce1298e71a1d21b022246e4fb3525f7ab8181 /src
parent72179e1bd0bbb1d1c3083c85bd9fb0a8d6928f7f (diff)
downloadvim-git-fe17e7640d242e717e9498158570fe3eea2a769b.tar.gz
updated for version 7.3.1262v7.3.1262
Problem: Crash and compilation warnings with Cygwin. Solution: Check return value of XmbTextListToTextProperty(). Add type casts. Adjust #ifdefs. (Lech Lorens)
Diffstat (limited to 'src')
-rw-r--r--src/main.c4
-rw-r--r--src/os_unix.c6
-rw-r--r--src/ui.c10
-rw-r--r--src/version.c2
4 files changed, 15 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c
index 5c1405ea3..884a3082b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2408,7 +2408,7 @@ scripterror:
* Look for evidence of non-Cygwin paths before we bother.
* This is only for when using the Unix files.
*/
- if (strpbrk(p, "\\:") != NULL && !path_with_url(p))
+ if (vim_strpbrk(p, "\\:") != NULL && !path_with_url(p))
{
char posix_path[PATH_MAX];
@@ -2418,7 +2418,7 @@ scripterror:
cygwin_conv_to_posix_path(p, posix_path);
# endif
vim_free(p);
- p = vim_strsave(posix_path);
+ p = vim_strsave((char_u *)posix_path);
if (p == NULL)
mch_exit(2);
}
diff --git a/src/os_unix.c b/src/os_unix.c
index f878fa957..8a7ae10b0 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -1559,7 +1559,7 @@ x_IOerror_check(dpy)
{
/* This function should not return, it causes exit(). Longjump instead. */
LONGJMP(lc_jump_env, 1);
-# ifdef VMS
+# if defined(VMS) || defined(__CYGWIN__) || defined(__CYGWIN32__)
return 0; /* avoid the compiler complains about missing return value */
# endif
}
@@ -1581,7 +1581,7 @@ x_IOerror_handler(dpy)
/* This function should not return, it causes exit(). Longjump instead. */
LONGJMP(x_jump_env, 1);
-# ifdef VMS
+# if defined(VMS) || defined(__CYGWIN__) || defined(__CYGWIN32__)
return 0; /* avoid the compiler complains about missing return value */
# endif
}
@@ -5929,7 +5929,7 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
# if defined(__CYGWIN__) || defined(__CYGWIN32__)
/* Translate <CR><NL> into <NL>. Caution, buffer may contain NUL. */
p = buffer;
- for (i = 0; i < len; ++i)
+ for (i = 0; i < (int)len; ++i)
if (!(buffer[i] == CAR && buffer[i + 1] == NL))
*p++ = buffer[i];
len = p - buffer;
diff --git a/src/ui.c b/src/ui.c
index 49bc56b93..714d1938b 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -2366,14 +2366,20 @@ clip_x11_convert_selection_cb(w, sel_atom, target, type, value, length, format)
{
XTextProperty text_prop;
char *string_nt = (char *)alloc((unsigned)*length + 1);
+ int conv_result;
/* create NUL terminated string which XmbTextListToTextProperty wants */
mch_memmove(string_nt, string, (size_t)*length);
string_nt[*length] = NUL;
- XmbTextListToTextProperty(X_DISPLAY, (char **)&string_nt, 1,
- XCompoundTextStyle, &text_prop);
+ conv_result = XmbTextListToTextProperty(X_DISPLAY, (char **)&string_nt,
+ 1, XCompoundTextStyle, &text_prop);
vim_free(string_nt);
XtFree(*value); /* replace with COMPOUND text */
+ if (conv_result != Success)
+ {
+ vim_free(string);
+ return False;
+ }
*value = (XtPointer)(text_prop.value); /* from plain text */
*length = text_prop.nitems;
*type = compound_text_atom;
diff --git a/src/version.c b/src/version.c
index 7fbb0eef6..59fa0febb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1262,
+/**/
1261,
/**/
1260,