Update to rxvt-unicode-9.11

tested/ok Levai Daniel (maintainer)
This commit is contained in:
dcoppa 2011-05-25 07:53:07 +00:00
parent 8ddb8cb200
commit be0bd8f7af
10 changed files with 26 additions and 416 deletions

View File

@ -1,8 +1,8 @@
# $OpenBSD: Makefile,v 1.9 2010/12/23 08:45:57 dcoppa Exp $
# $OpenBSD: Makefile,v 1.10 2011/05/25 07:53:07 dcoppa Exp $
COMMENT = clone of rxvt with Unicode and Xft support
DISTNAME = rxvt-unicode-9.10
DISTNAME = rxvt-unicode-9.11
CATEGORIES = x11
EXTRACT_SUFX = .tar.bz2
@ -19,14 +19,23 @@ PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
WANTLIB = X11 Xau Xdmcp Xft Xrender c expat fontconfig \
freetype m perl pthread-stubs util xcb z
freetype gdk_pixbuf-2.0 glib-2.0 gmodule-2.0 \
gobject-2.0 gthread-2.0 m perl png \
pthread-stubs pthread util xcb z
MODULES = devel/gettext
LIB_DEPENDS = graphics/gdk-pixbuf2
CONFIGURE_STYLE = gnu
CONFIGURE_ARGS = --enable-256-color \
--enable-perl \
--enable-pixbuf \
--with-term=rxvt-256color \
--disable-afterimage
# missing locale support
CONFIGURE_ARGS += --disable-xim
USE_GROFF = Yes
.include <bsd.port.mk>

View File

@ -1,5 +1,5 @@
MD5 (rxvt-unicode-9.10.tar.bz2) = ojqkCzHoQ4eLb5xEdo3kMA==
RMD160 (rxvt-unicode-9.10.tar.bz2) = Fcn2Hnxq0/Bca/IL7a0s2NXx1ek=
SHA1 (rxvt-unicode-9.10.tar.bz2) = VMiWpIhbiYSw36ZSJpw8NMTXXy0=
SHA256 (rxvt-unicode-9.10.tar.bz2) = HCOPflRbGo2oEjm4JvsqfRlsc+/7y9IR23pQmVoKBno=
SIZE (rxvt-unicode-9.10.tar.bz2) = 884501
MD5 (rxvt-unicode-9.11.tar.bz2) = G+1b/u0Cbgv6+g6eT2KqNw==
RMD160 (rxvt-unicode-9.11.tar.bz2) = lXhS4MvsIJqlrjQKOLWc2g/0nt0=
SHA1 (rxvt-unicode-9.11.tar.bz2) = IdD62aYDLbzyxDqF8ohUPGvVqz0=
SHA256 (rxvt-unicode-9.11.tar.bz2) = BFLAAGZ3TvbjL80KHm8JIwOS6p9vQuHC73uR1vy4LYU=
SIZE (rxvt-unicode-9.11.tar.bz2) = 882787

View File

@ -1,121 +0,0 @@
$OpenBSD: patch-src_command_C,v 1.2 2010/12/23 08:45:57 dcoppa Exp $
--- src/command.C.orig Wed Dec 1 04:55:56 2010
+++ src/command.C Thu Dec 23 09:34:09 2010
@@ -186,15 +186,15 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x,
char attr[80]; // plenty
- sprintf (attr, "%08x = fg %d bg %d%s%s%s%s%s%s",
- (int)r,
- fgcolor_of (r), bgcolor_of (r),
- r & RS_Bold ? " bold" : "",
- r & RS_Italic ? " italic" : "",
- r & RS_Blink ? " blink" : "",
- r & RS_RVid ? " rvid" : "",
- r & RS_Uline ? " uline" : "",
- r & RS_Careful ? " careful" : "");
+ snprintf (attr, sizeof (attr), "%08x = fg %d bg %d%s%s%s%s%s%s",
+ (int)r,
+ fgcolor_of (r), bgcolor_of (r),
+ r & RS_Bold ? " bold" : "",
+ r & RS_Italic ? " italic" : "",
+ r & RS_Blink ? " blink" : "",
+ r & RS_RVid ? " rvid" : "",
+ r & RS_Uline ? " uline" : "",
+ r & RS_Careful ? " careful" : "");
int width = 0;
fname = rxvt_temp_buf<wchar_t *> (len);
@@ -224,7 +224,7 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x,
ch = *chr++;
- sprintf (buf, "%8x", ch);
+ snprintf (buf, sizeof (buf), "%8x", ch);
scr_overlay_set (0, y, buf);
scr_overlay_set (9, y, '=');
# if !UNICODE_3
@@ -665,17 +665,17 @@ rxvt_term::key_press (XKeyEvent &ev)
kbuf[1] = '\0';
}
else
- strcpy (kbuf, rs[Rs_backspace_key]);
+ strlcpy (kbuf, rs[Rs_backspace_key], sizeof (kbuf));
break;
#endif
#ifndef NO_DELETE_KEY
case XK_Delete:
- strcpy (kbuf, rs[Rs_delete_key]);
+ strlcpy (kbuf, rs[Rs_delete_key], sizeof (kbuf));
break;
#endif
case XK_Tab:
if (shft)
- strcpy (kbuf, "\033[Z");
+ strlcpy (kbuf, "\033[Z", sizeof (kbuf));
else
{
#ifdef CTRL_TAB_MAKES_META
@@ -694,7 +694,7 @@ rxvt_term::key_press (XKeyEvent &ev)
case XK_Down: /* "\033[B" */
case XK_Right: /* "\033[C" */
case XK_Left: /* "\033[D" */
- strcpy (kbuf, "\033[Z");
+ strlcpy (kbuf, "\033[Z", sizeof (kbuf));
kbuf[2] = "DACB"[keysym - XK_Left];
/* do Shift first */
if (shft)
@@ -712,7 +712,7 @@ rxvt_term::key_press (XKeyEvent &ev)
/* allow shift to override */
if (kp)
{
- strcpy (kbuf, "\033OM");
+ strlcpy (kbuf, "\033OM", sizeof (kbuf));
break;
}
@@ -736,7 +736,7 @@ rxvt_term::key_press (XKeyEvent &ev)
case XK_KP_F2: /* "\033OQ" */
case XK_KP_F3: /* "\033OR" */
case XK_KP_F4: /* "\033OS" */
- strcpy (kbuf, "\033OP");
+ strlcpy (kbuf, "\033OP", sizeof (kbuf));
kbuf[2] += (keysym - XK_KP_F1);
break;
@@ -759,7 +759,7 @@ rxvt_term::key_press (XKeyEvent &ev)
/* allow shift to override */
if (kp)
{
- strcpy (kbuf, "\033Oj");
+ strlcpy (kbuf, "\033Oj", sizeof (kbuf));
kbuf[2] += (keysym - XK_KP_Multiply);
}
else
@@ -773,7 +773,7 @@ rxvt_term::key_press (XKeyEvent &ev)
{
int param = map_function_key (keysym);
if (param > 0)
- sprintf (kbuf,"\033[%d~", param);
+ snprintf (kbuf, sizeof (kbuf),"\033[%d~", param);
else
newlen = 0;
}
@@ -799,7 +799,7 @@ rxvt_term::key_press (XKeyEvent &ev)
}
else if (keysym == XK_ISO_Left_Tab)
{
- strcpy (kbuf, "\033[Z");
+ strlcpy (kbuf, "\033[Z", sizeof (kbuf));
len = 3;
}
else
@@ -3473,7 +3473,7 @@ rxvt_term::process_xterm_seq (int op, char *str, char
{
char str[256];
- sprintf (str, "[%dx%d+%d+%d]",
+ snprintf (str, sizeof (str), "[%dx%d+%d+%d]",
min (bgPixmap.h_scale, 32767), min (bgPixmap.v_scale, 32767),
min (bgPixmap.h_align, 32767), min (bgPixmap.v_align, 32767));
process_xterm_seq (XTerm_title, str, CHAR_ST);

View File

@ -1,74 +0,0 @@
$OpenBSD: patch-src_init_C,v 1.2 2010/12/23 08:45:57 dcoppa Exp $
--- src/init.C.orig Fri Dec 3 22:08:19 2010
+++ src/init.C Thu Dec 23 09:34:09 2010
@@ -108,7 +108,7 @@ rxvt_network_display (const char *display)
{
struct ifreq ifr2;
- strcpy (ifr2.ifr_name, ifr->ifr_name);
+ strlcpy (ifr2.ifr_name, ifr->ifr_name, sizeof(ifr2.ifr_name));
if (ioctl (skfd, SIOCGIFADDR, &ifr2) >= 0)
{
@@ -128,12 +128,13 @@ rxvt_network_display (const char *display)
if (colon == NULL)
colon = ":0.0";
- rval = rxvt_malloc (strlen (colon) + 16);
- sprintf (rval, "%d.%d.%d.%d%s",
- (int) ((addr >> 030) & 0xFF),
- (int) ((addr >> 020) & 0xFF),
- (int) ((addr >> 010) & 0xFF),
- (int) (addr & 0xFF), colon);
+ size_t rval_size = strlen (colon) + 16;
+ rval = rxvt_malloc (rval_size);
+ snprintf (rval, rval_size, "%d.%d.%d.%d%s",
+ (int) ((addr >> 030) & 0xFF),
+ (int) ((addr >> 020) & 0xFF),
+ (int) ((addr >> 010) & 0xFF),
+ (int) (addr & 0xFF), colon);
break;
}
}
@@ -917,11 +918,12 @@ rxvt_term::init_env ()
rs[Rs_display_name] = val; /* use broken `:0' value */
i = strlen (val);
- env_display = (char *)rxvt_malloc (i + 9);
+ size_t env_display_size = i + 9;
+ env_display = (char *)rxvt_malloc (env_display_size);
- sprintf (env_display, "DISPLAY=%s", val);
+ snprintf (env_display, env_display_size, "DISPLAY=%s", val);
- sprintf (env_windowid, "WINDOWID=%lu", (unsigned long)parent[0]);
+ snprintf (env_windowid, sizeof (env_windowid), "WINDOWID=%lu", (unsigned long)parent[0]);
/* add entries to the environment:
* @ DISPLAY: in case we started with -display
@@ -948,8 +950,9 @@ rxvt_term::init_env ()
if (rs[Rs_term_name] != NULL)
{
- env_term = (char *)rxvt_malloc (strlen (rs[Rs_term_name]) + 6);
- sprintf (env_term, "TERM=%s", rs[Rs_term_name]);
+ size_t size = strlen (rs[Rs_term_name]) + 6;
+ env_term = (char *)rxvt_malloc (size);
+ snprintf (env_term, size, "TERM=%s", rs[Rs_term_name]);
putenv (env_term);
}
else
@@ -1748,10 +1751,11 @@ rxvt_term::run_child (const char *const *argv)
if (option (Opt_loginShell))
{
- login = (char *)rxvt_malloc (strlen (argv0) + 2);
+ size_t login_size = strlen (argv0) + 2;
+ login = (char *)rxvt_malloc (login_size);
login[0] = '-';
- strcpy (&login[1], argv0);
+ strlcpy (&login[1], argv0, login_size - sizeof(char));
argv0 = login;
}

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-src_keyboard_C,v 1.1 2010/11/25 13:19:36 dcoppa Exp $
--- src/keyboard.C.orig Wed Aug 25 04:07:15 2010
+++ src/keyboard.C Sun Nov 14 14:23:05 2010
@@ -230,7 +230,8 @@ keyboard_manager::dispatch (rxvt_term *term, KeySym ke
memcpy (buf, prefix + 1, middle - prefix - 1);
buf [middle - prefix - 1] = middle [keysym_offset + 1];
- strcpy (buf + (middle - prefix), suffix + 1);
+ strlcpy (buf + (middle - prefix), suffix + 1,
+ sizeof (buf) - sizeof (char) * (middle - prefix));
output_string (term, buf);
}

View File

@ -1,52 +1,12 @@
$OpenBSD: patch-src_main_C,v 1.3 2010/12/23 08:45:57 dcoppa Exp $
--- src/main.C.orig Mon Dec 13 17:37:52 2010
+++ src/main.C Thu Dec 23 09:34:09 2010
@@ -80,7 +80,7 @@ rxvt_set_locale (const char *locale) NOTHROW
void
rxvt_push_locale (const char *locale) NOTHROW
{
- strcpy (savelocale, curlocale);
+ strlcpy (savelocale, curlocale, sizeof(savelocale));
rxvt_set_locale (locale);
}
$OpenBSD: patch-src_main_C,v 1.4 2011/05/25 07:53:07 dcoppa Exp $
@@ -402,14 +402,16 @@ print_x_error (Display *dpy, XErrorEvent *event)
rxvt_warn ("An X Error occurred, trying to continue after report.\n");
rxvt_warn ("%s: %s\n", mesg, buffer);
XGetErrorDatabaseText(dpy, mtype, "MajorCode", "Request Major code %d", mesg, BUFSIZ);
- rxvt_warn (strncat (mesg, "\n", BUFSIZ), event->request_code);
- sprintf(number, "%d", event->request_code);
+ strlcat (mesg, "\n", sizeof (mesg));
+ rxvt_warn (mesg, event->request_code);
+ snprintf (number, sizeof (number), "%d", event->request_code);
XGetErrorDatabaseText(dpy, "XRequest", number, "", buffer, BUFSIZ);
rxvt_warn ("(which is %s)\n", buffer);
if (event->request_code >= 128) {
XGetErrorDatabaseText(dpy, mtype, "MinorCode", "Request Minor code %d",
mesg, BUFSIZ);
- rxvt_warn (strncat (mesg, "\n", BUFSIZ), event->minor_code);
+ strlcat (mesg, "\n", BUFSIZ);
+ rxvt_warn (mesg, event->minor_code);
}
if ((event->error_code == BadWindow) ||
(event->error_code == BadPixmap) ||
@@ -430,11 +432,13 @@ print_x_error (Display *dpy, XErrorEvent *event)
else
XGetErrorDatabaseText(dpy, mtype, "ResourceID", "ResourceID 0x%x",
mesg, BUFSIZ);
- rxvt_warn (strncat (mesg, "\n", BUFSIZ), event->resourceid);
+ strlcat (mesg, "\n", BUFSIZ);
+ rxvt_warn (mesg, event->resourceid);
}
XGetErrorDatabaseText(dpy, mtype, "ErrorSerial", "Error Serial #%d",
mesg, BUFSIZ);
- rxvt_warn (strncat (mesg, "\n", BUFSIZ), event->serial);
+ strlcat (mesg, "\n", BUFSIZ);
+ rxvt_warn (mesg, event->serial);
}
#endif
Fix a bug causing artifacts on the bottom of the screen when using
rxvt-unicode without hints
(From: https://awesome.naquadah.org/wiki/Urxvt_Hints)
@@ -717,6 +721,8 @@ rxvt_term::window_calc (unsigned int newwidth, unsigne
--- src/main.C.orig Mon May 2 11:42:28 2011
+++ src/main.C Mon May 23 16:34:12 2011
@@ -708,6 +708,8 @@ rxvt_term::window_calc (unsigned int newwidth, unsigne
ncol = width / fwidth;
nrow = height / fheight;
@ -55,84 +15,3 @@ $OpenBSD: patch-src_main_C,v 1.3 2010/12/23 08:45:57 dcoppa Exp $
}
/*----------------------------------------------------------------------*/
@@ -962,26 +968,26 @@ rxvt_term::set_colorfgbg ()
const char *xpmb = "";
char fstr[sizeof ("default") + 1], bstr[sizeof ("default") + 1];
- strcpy (fstr, "default");
- strcpy (bstr, "default");
+ strlcpy (fstr, "default", sizeof (fstr));
+ strlcpy (bstr, "default", sizeof (bstr));
for (i = Color_Black; i <= Color_White; i++)
if (pix_colors[Color_fg] == pix_colors[i])
{
- sprintf (fstr, "%d", (i - Color_Black));
+ snprintf (fstr, sizeof (fstr), "%d", (i - Color_Black));
break;
}
for (i = Color_Black; i <= Color_White; i++)
if (pix_colors[Color_bg] == pix_colors[i])
{
- sprintf (bstr, "%d", (i - Color_Black));
+ snprintf (bstr, sizeof (bstr), "%d", (i - Color_Black));
#ifdef BG_IMAGE_FROM_FILE
xpmb = "default;";
#endif
break;
}
- sprintf (env_colorfgbg, "COLORFGBG=%s;%s%s", fstr, xpmb, bstr);
+ snprintf (env_colorfgbg, sizeof (env_colorfgbg), "COLORFGBG=%s;%s%s", fstr, xpmb, bstr);
}
/*----------------------------------------------------------------------*/
@@ -1182,8 +1188,8 @@ rxvt_term::IMisRunning ()
/* get current locale modifier */
if (char *p = XSetLocaleModifiers (0))
{
- strcpy (server, "@server=");
- strncat (server, p + 4, IMBUFSIZ - 9); /* skip "@im=" */
+ strlcpy (server, "@server=", sizeof (server));
+ strlcat (server, p + 4, sizeof (server)); /* skip "@im=" */
if (p = strchr (server + 1, '@')) /* first one only */
*p = '\0';
@@ -1412,16 +1418,16 @@ foundpet:
char *def_string;
char pat[512];
- sprintf (pat,
- "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
- "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
- "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
- "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
- "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
- "*",
- fheight,
- fheight + 1, fheight - 1,
- fheight - 2, fheight + 2);
+ snprintf (pat, sizeof (pat),
+ "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
+ "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
+ "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
+ "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
+ "-*-*-*-R-*-*-%d-*-*-*-*-*-*,"
+ "*",
+ fheight,
+ fheight + 1, fheight - 1,
+ fheight - 2, fheight + 2);
fs = XCreateFontSet (dpy, rs[Rs_imFont] ? rs[Rs_imFont] : pat,
&missing_charset_list, &missing_charset_count, &def_string);
@@ -1560,8 +1566,8 @@ rxvt_term::im_cb ()
{
if (*s[i])
{
- strcpy (buf, "@im=");
- strncat (buf, s[i], IMBUFSIZ - 5);
+ strlcpy (buf, "@im=", sizeof (buf));
+ strlcat (buf, s[i], sizeof (buf));
if (IM_get_IC (buf))
{
found = true;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_rxvtc_C,v 1.1 2010/11/25 13:19:36 dcoppa Exp $
--- src/rxvtc.C.orig Sun Jun 15 15:39:43 2008
+++ src/rxvtc.C Sun Nov 14 14:23:05 2010
@@ -62,7 +62,7 @@ client::client ()
}
sa.sun_family = AF_UNIX;
- strcpy (sa.sun_path, sockname);
+ strlcpy (sa.sun_path, sockname, sizeof(sa.sun_path));
free (sockname);
if (connect (fd, (sockaddr *)&sa, sizeof (sa)))

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_rxvtd_C,v 1.2 2010/12/23 08:45:57 dcoppa Exp $
--- src/rxvtd.C.orig Mon Dec 13 17:37:52 2010
+++ src/rxvtd.C Thu Dec 23 09:34:10 2010
@@ -100,7 +100,7 @@ unix_listener::unix_listener (const char *sockname)
fcntl (fd, F_SETFL, O_NONBLOCK);
sa.sun_family = AF_UNIX;
- strcpy (sa.sun_path, sockname);
+ strlcpy (sa.sun_path, sockname, sizeof(sa.sun_path));
unlink (sockname);

View File

@ -1,31 +0,0 @@
$OpenBSD: patch-src_rxvtfont_C,v 1.2 2010/12/23 08:45:57 dcoppa Exp $
--- src/rxvtfont.C.orig Wed Dec 1 04:55:56 2010
+++ src/rxvtfont.C Thu Dec 23 09:34:10 2010
@@ -686,10 +686,13 @@ replace_field (char **ptr, const char *name, int index
if (slashes >= 13 && (!old || *field == old))
{
size_t len = field - name;
- *ptr = (char *)malloc (len + strlen (replace) + strlen (end) + 1);
+ size_t len_replace = strlen (replace);
+ size_t len_end = strlen (end);
+ *ptr = (char *)malloc (len + len_replace + len_end + 1);
memcpy (*ptr, name, len);
- strcpy (*ptr + len, replace);
- strcat (*ptr, end);
+ memcpy (*ptr + len, replace, len_replace);
+ memcpy (*ptr + len + len_replace, end, len_end);
+ (*ptr)[len + len_replace + len_end] = 0;
return true;
}
@@ -750,8 +753,8 @@ rxvt_font_x11::load (const rxvt_fontprop &prop, bool f
}
}
- sprintf (field_str, "%d", prop.height == rxvt_fontprop::unset
- ? 0 : prop.height);
+ snprintf (field_str, sizeof (field_str), "%d",
+ prop.height == rxvt_fontprop::unset ? 0 : prop.height);
struct font_weight {
char *name;

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-src_xdefaults_C,v 1.1 2010/11/25 13:19:36 dcoppa Exp $
--- src/xdefaults.C.orig Fri Oct 15 00:13:23 2010
+++ src/xdefaults.C Sun Nov 14 15:09:59 2010
@@ -560,8 +560,9 @@ rxvt_term::get_options (int argc, const char *const *a
{
if (i+1 < argc)
{
- char *res = rxvt_temp_buf<char> (strlen (opt) + strlen (argv[++i]) + 6);
- sprintf (res, "*.%s: %s\n", opt, argv[i]);
+ size_t size = strlen (opt) + strlen (argv[++i]) + 6;
+ char *res = rxvt_temp_buf<char> (size);
+ snprintf (res, size, "*.%s: %s\n", opt, argv[i]);
XrmPutLineResource (&option_db, res);
}
}