Re: Bug in g_message() with long lines ?
- From: Owen Taylor <otaylor redhat com>
- To: Tim Janik <timj gtk org>
- Cc: Gtk+ Developers <gtk-devel-list redhat com>
- Subject: Re: Bug in g_message() with long lines ?
- Date: 27 Apr 2000 22:24:48 -0400
Tim Janik <timj@gtk.org> writes:
> > Well, what you are basically discovering is that the g_log()
> > functions are limited to a fixed size buffer. The reason for
> > this is that they may be called in out-of-memory situations,
> > so can't rely on allocating memory.
> >
> > I think this probably could be addressed in a couple of ways:
> >
> > 1) Allow memory to be allocated for non-fatal messages, and
> > only use fixed size buffers for fatal messages.
>
> right.
>
> > 2) Try allocating the necessary memory with malloc(), and
> > only if that fails fall back to the static buffer.
>
> yeah, as soon as we got g_try_malloc().
We don't need to wait for g_try_malloc() - since we control
both the allocation and freeing of that buffer, we can
simply use malloc() and free().
> > (Printing out long DNA sequences in user messages seems a little
> > odd to me, so I'll mention that g_print(), g_message(), etc,
> > really aren't meant as replacements for printf() - they are
> > just meant for redirectable logging of errors and warnings.)
>
> i second that, except for g_print() which is in fact a printf() replacement.
> it doesn't go through g_logv() and can handle very long strings just fine.
Well, if you don't want to redirect the output of g_print(), there
is no reason to use it. It is slower than printf(), and one
more char to type.
Regards,
Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]