mcedit issues
Roland Illig
roland.illig at gmx.de
Thu Nov 4 20:16:11 UTC 2004
Andrew V. Samoilov wrote:
> Hello, Rolland,
>
> your last "simplification" remove charset conversion.
> Also some people collect all of used glib stuff in our glibcompat.c
> to eliminate libglib dependancy, and so you enforce them to import g_string_*()
> there.
The purpose of glibcompat.c is to provide the functions that are in
glib-2, but not in glib-1.2. It is not used as an abstraction layer
aroung the glib functions.
> --- edit/editcmd.c.orig Thu Nov 4 20:12:16 2004
> +++ edit/editcmd.c Thu Nov 4 20:19:09 2004
> @@ -1181,15 +1181,15 @@ edit_replace_prompt (WEdit * edit, char
> 0, 0, 0, 0, 0},
> NULL_QuickWidget};
>
> - GString *label_text = g_string_new (_(" Replace with: "));
> + char *msg = _(" Replace with: ");
msg must be a const char *. If ENABLE_NLS is not #defined, the following
line is executed:
#define _(str) (str)
So you assign a const char * to a char * variable here.
> if (*replace_text) {
> - g_string_append (label_text, replace_text);
> - convert_to_display (label_text->str + label_text->len);
Yes, I see the mistake here. label_text->len should be replaced by the
label_text->len from before the g_string_append() call.
> + size_t msg_len = strlen (msg);
> + msg = catstrs (msg, replace_text, (char *) NULL);
> + convert_to_display (msg + msg_len);
Roland
More information about the mc-devel
mailing list