diff --git a/x11/rxvt-unicode/Makefile b/x11/rxvt-unicode/Makefile index e9ce7816ce6..f001b71a010 100644 --- a/x11/rxvt-unicode/Makefile +++ b/x11/rxvt-unicode/Makefile @@ -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 diff --git a/x11/rxvt-unicode/distinfo b/x11/rxvt-unicode/distinfo index 4ae799a4063..13cd32b3f4a 100644 --- a/x11/rxvt-unicode/distinfo +++ b/x11/rxvt-unicode/distinfo @@ -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 diff --git a/x11/rxvt-unicode/patches/patch-src_command_C b/x11/rxvt-unicode/patches/patch-src_command_C deleted file mode 100644 index 748fbbdc663..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_command_C +++ /dev/null @@ -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 (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); diff --git a/x11/rxvt-unicode/patches/patch-src_init_C b/x11/rxvt-unicode/patches/patch-src_init_C deleted file mode 100644 index 3af50eb8b32..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_init_C +++ /dev/null @@ -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; - } - diff --git a/x11/rxvt-unicode/patches/patch-src_keyboard_C b/x11/rxvt-unicode/patches/patch-src_keyboard_C deleted file mode 100644 index d7e723be53e..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_keyboard_C +++ /dev/null @@ -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); - } diff --git a/x11/rxvt-unicode/patches/patch-src_main_C b/x11/rxvt-unicode/patches/patch-src_main_C index c69eb3709b0..1bfd0021ca2 100644 --- a/x11/rxvt-unicode/patches/patch-src_main_C +++ b/x11/rxvt-unicode/patches/patch-src_main_C @@ -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); - } - -@@ -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 - -@@ -717,6 +721,8 @@ rxvt_term::window_calc (unsigned int newwidth, unsigne +$OpenBSD: patch-src_main_C,v 1.4 2011/05/25 07:53:07 dcoppa Exp $ + +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) + +--- 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; diff --git a/x11/rxvt-unicode/patches/patch-src_rxvtc_C b/x11/rxvt-unicode/patches/patch-src_rxvtc_C deleted file mode 100644 index 330e7f77012..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_rxvtc_C +++ /dev/null @@ -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))) diff --git a/x11/rxvt-unicode/patches/patch-src_rxvtd_C b/x11/rxvt-unicode/patches/patch-src_rxvtd_C deleted file mode 100644 index 913116e437b..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_rxvtd_C +++ /dev/null @@ -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); - diff --git a/x11/rxvt-unicode/patches/patch-src_rxvtfont_C b/x11/rxvt-unicode/patches/patch-src_rxvtfont_C deleted file mode 100644 index 8ecd550f870..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_rxvtfont_C +++ /dev/null @@ -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; diff --git a/x11/rxvt-unicode/patches/patch-src_xdefaults_C b/x11/rxvt-unicode/patches/patch-src_xdefaults_C deleted file mode 100644 index 24d659d2b8f..00000000000 --- a/x11/rxvt-unicode/patches/patch-src_xdefaults_C +++ /dev/null @@ -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 (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 (size); -+ snprintf (res, size, "*.%s: %s\n", opt, argv[i]); - XrmPutLineResource (&option_db, res); - } - }