mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
updated for version 7.3.1262
Problem: Crash and compilation warnings with Cygwin. Solution: Check return value of XmbTextListToTextProperty(). Add type casts. Adjust #ifdefs. (Lech Lorens)
This commit is contained in:
@@ -2408,7 +2408,7 @@ scripterror:
|
|||||||
* Look for evidence of non-Cygwin paths before we bother.
|
* Look for evidence of non-Cygwin paths before we bother.
|
||||||
* This is only for when using the Unix files.
|
* 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];
|
char posix_path[PATH_MAX];
|
||||||
|
|
||||||
@@ -2418,7 +2418,7 @@ scripterror:
|
|||||||
cygwin_conv_to_posix_path(p, posix_path);
|
cygwin_conv_to_posix_path(p, posix_path);
|
||||||
# endif
|
# endif
|
||||||
vim_free(p);
|
vim_free(p);
|
||||||
p = vim_strsave(posix_path);
|
p = vim_strsave((char_u *)posix_path);
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
mch_exit(2);
|
mch_exit(2);
|
||||||
}
|
}
|
||||||
|
@@ -1559,7 +1559,7 @@ x_IOerror_check(dpy)
|
|||||||
{
|
{
|
||||||
/* This function should not return, it causes exit(). Longjump instead. */
|
/* This function should not return, it causes exit(). Longjump instead. */
|
||||||
LONGJMP(lc_jump_env, 1);
|
LONGJMP(lc_jump_env, 1);
|
||||||
# ifdef VMS
|
# if defined(VMS) || defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||||
return 0; /* avoid the compiler complains about missing return value */
|
return 0; /* avoid the compiler complains about missing return value */
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
@@ -1581,7 +1581,7 @@ x_IOerror_handler(dpy)
|
|||||||
|
|
||||||
/* This function should not return, it causes exit(). Longjump instead. */
|
/* This function should not return, it causes exit(). Longjump instead. */
|
||||||
LONGJMP(x_jump_env, 1);
|
LONGJMP(x_jump_env, 1);
|
||||||
# ifdef VMS
|
# if defined(VMS) || defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||||
return 0; /* avoid the compiler complains about missing return value */
|
return 0; /* avoid the compiler complains about missing return value */
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
@@ -5929,7 +5929,7 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
|
|||||||
# if defined(__CYGWIN__) || defined(__CYGWIN32__)
|
# if defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||||
/* Translate <CR><NL> into <NL>. Caution, buffer may contain NUL. */
|
/* Translate <CR><NL> into <NL>. Caution, buffer may contain NUL. */
|
||||||
p = buffer;
|
p = buffer;
|
||||||
for (i = 0; i < len; ++i)
|
for (i = 0; i < (int)len; ++i)
|
||||||
if (!(buffer[i] == CAR && buffer[i + 1] == NL))
|
if (!(buffer[i] == CAR && buffer[i + 1] == NL))
|
||||||
*p++ = buffer[i];
|
*p++ = buffer[i];
|
||||||
len = p - buffer;
|
len = p - buffer;
|
||||||
|
10
src/ui.c
10
src/ui.c
@@ -2366,14 +2366,20 @@ clip_x11_convert_selection_cb(w, sel_atom, target, type, value, length, format)
|
|||||||
{
|
{
|
||||||
XTextProperty text_prop;
|
XTextProperty text_prop;
|
||||||
char *string_nt = (char *)alloc((unsigned)*length + 1);
|
char *string_nt = (char *)alloc((unsigned)*length + 1);
|
||||||
|
int conv_result;
|
||||||
|
|
||||||
/* create NUL terminated string which XmbTextListToTextProperty wants */
|
/* create NUL terminated string which XmbTextListToTextProperty wants */
|
||||||
mch_memmove(string_nt, string, (size_t)*length);
|
mch_memmove(string_nt, string, (size_t)*length);
|
||||||
string_nt[*length] = NUL;
|
string_nt[*length] = NUL;
|
||||||
XmbTextListToTextProperty(X_DISPLAY, (char **)&string_nt, 1,
|
conv_result = XmbTextListToTextProperty(X_DISPLAY, (char **)&string_nt,
|
||||||
XCompoundTextStyle, &text_prop);
|
1, XCompoundTextStyle, &text_prop);
|
||||||
vim_free(string_nt);
|
vim_free(string_nt);
|
||||||
XtFree(*value); /* replace with COMPOUND text */
|
XtFree(*value); /* replace with COMPOUND text */
|
||||||
|
if (conv_result != Success)
|
||||||
|
{
|
||||||
|
vim_free(string);
|
||||||
|
return False;
|
||||||
|
}
|
||||||
*value = (XtPointer)(text_prop.value); /* from plain text */
|
*value = (XtPointer)(text_prop.value); /* from plain text */
|
||||||
*length = text_prop.nitems;
|
*length = text_prop.nitems;
|
||||||
*type = compound_text_atom;
|
*type = compound_text_atom;
|
||||||
|
@@ -728,6 +728,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1262,
|
||||||
/**/
|
/**/
|
||||||
1261,
|
1261,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user