--- rxvt-unicode/src/init.C 2007/10/09 13:34:46 1.216 +++ rxvt-unicode/src/init.C 2007/10/18 09:11:42 1.218 @@ -43,6 +43,19 @@ #include +#ifdef HAVE_XSETLOCALE +# define X_LOCALE +# include +#else +# ifdef HAVE_SETLOCALE +# include +# endif +#endif + +#ifdef HAVE_NL_LANGINFO +# include +#endif + #ifdef DISPLAY_IS_IP /* On Solaris link with -lsocket and -lnsl */ #include @@ -388,7 +401,10 @@ get_options (r_argc, r_argv); if (!(display = displays.get (rs[Rs_display_name]))) - rxvt_fatal ("can't open display %s, aborting.\n", rs[Rs_display_name]); + { + free (r_argv); + rxvt_fatal ("can't open display %s, aborting.\n", rs[Rs_display_name]); + } // using a local pointer decreases code size a lot xa = display->xa;