summaryrefslogtreecommitdiff
path: root/gmessages.c
AgeCommit message (Collapse)Author
2000-07-26applied patch from Andreas Persenius <ndap@swipnet.se> that updates theTim Janik
Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org> * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that updates the license headers to the GNU Lesser General Public License, as well as updating the copyright year to 2000.
1999-10-31Don't crash if removing a nonexistent value.Tor Lillqvist
1999-10-31 Tor Lillqvist <tml@iki.fi> * gcache.c (g_cache_remove): Don't crash if removing a nonexistent value. * gutils.c (gwin_getlocale): New Win32-specific function, returns a Unixish current locale string (en, zh_TW etc). * glib.h: Declare it. * glib.def: Export it. * testglib.c: Test it. * gmessages.c (Win32: ensure_stdout_valid): Some improvements, make sure we don't call AllocConsole several times, which I think has happened.
1999-10-12completly new implementation for printf string upper bounds calculation.Tim Janik
Tue Oct 12 12:16:12 1999 Tim Janik <timj@gtk.org> * gmessages.c (g_printf_string_upper_bound): completly new implementation for printf string upper bounds calculation. we handle all glibc 2.1 format specifiers now, except for positional parameters (%nn$...) and wide char strings, plus some obscure upper case variants of the standard conversions. this fixes a lot of bugs in the old code, i.e. - NULL format strings - floats with exponents >+24 - %G - precision specifications in general - negative field widths - %p for SIZEOF_VOID_P > 4 platforms we now issue warnigns in places where the old code would have caused buffer overruns anyways. warnings are suppressed when invoked from glogv(), to avoid infinite recursions if someone passes a log message that comes with really obscure format specifications. Tue Oct 12 11:49:00 1999 Tim Janik <timj@gtk.org> * gstrfuncs.c: nuked old g_printf_string_upper_bound() version. Tue Oct 12 03:34:40 1999 Tim Janik <timj@gtk.org> * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign, mantissa and exponent of IEEE floats and doubles (required by the new version of g_printf_string_upper_bound). the unions are endian specific, we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats and doubles are supported (used for storage) by at least intel, ppc and sparc, reference: http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html Mon Oct 11 18:01:49 1999 Tim Janik <timj@gtk.org> * configure.in: added additional checks to figure sizes of size_t, ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
1999-10-04G_OS_FOO #defines. I *think* I got the cygwin and beos stuff right, butManish Singh
I haven't tested it. The respective porters should fix any screwups -Yosh
1999-09-13in case we have to abort the program, debugging is enabled and we are notTim Janik
Mon Sep 13 23:25:59 1999 Tim Janik <timj@gtk.org> * gmessages.c (g_logv): in case we have to abort the program, debugging is enabled and we are not called recursively, try to abort with raise (SIGTRAP) first, so developers may ignore certain failure conditions during debugging stage.
1999-08-15eliminate memset() call, since string.h has not neccessarily been includedTim Janik
Sun Aug 15 02:47:14 1999 Tim Janik <timj@gtk.org> * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h has not neccessarily been included prior to glib.h. Mon Aug 2 21:03:10 1999 Tim Janik <timj@gtk.org> * configure.in: added --enable-msg-prefix option. * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): " if --enable-msg-prefix was selected (use "(process:%u): " if g_get_prgname () returns NULL, along the lines of g_on_error_query).
1999-02-24inserted additional note to look for ChangeLog and AUTHORS file for a logCST 1999 Shawn T. Amundson
Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org> * *.[ch]: inserted additional note to look for ChangeLog and AUTHORS file for a log of modifications.
1999-02-02Don't call ensure_stdout_valid (which would open an unneeded consoleTor Lillqvist
* gmessages.c (g_log_default_handler): (Win32:) Don't call ensure_stdout_valid (which would open an unneeded console window) if we're calling a logging function. Define ensure_stdout_valid as an empty macro on Unix. * gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined, then try HOMEDRIVE and HOMEPATH.
1999-01-16Merge in current Win32 version. Almost no Unix code touched.Tor Lillqvist
* README.win32: More text. * config.h.win32 glibconfig.h.win32: Update to match the corresponding generated files on Unix. * makefile.msc: Update with new source files, and gthread library. Use the compiler flag -MD instead of using -D_DLL and "/nodefaultlib:libc msvcrt.lib" in the link phase. * glib.def: Include new functions, drop removed ones. * glib.h: Add comments about main loop and polling on Win32. (In general, it's only for the GIMP's use.) Add Win32 IO Channel functions. Remove the obsoleted old IO Channel stuff (which was in #if 0 already). * giowin32.c: New file. * gmain.c: Include config.h, conditionalize <sys/time.h> inclusion. Add g_poll implementation for Win32 (only for the GIMP's needs for now, it's hard or even impossible to be as clean and generic as on Unix). Implement g_get_current_time on Win32. If threads aren't supported, don't try to wake up main thread's loop. On Win32, use a semaphore and not a pipe to wake up the main loop. * gmessages.c: On Win32, allocate a console window if the standard output handle is invalid before writing to stdout, and reopen stdout to that console window. * giochannel.c: Conditionalize unistd.h inclusion. Some indentation cleanup. * gstrfuncs.c: Include <signal.h>. * gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH environment variables. * gmodule-dl.c gmodule-dld.c: In _g_module_build_path, don't add the "lib" prefix and ".so" or ".sl" suffix if already there. * gmodule-win32.c: Likewise for the ".dll" suffix. * gthread-posix.c: Conditionalize <sys/time.h> inclusion.
1998-12-15This commit merges the glib-threads branch into the mainOwen Taylor
branch. See the ChangeLog for details of the changes. In brief overview: - The set of threading functions can be set - A default implementation is provided in -lgthread - All static data structures are locked using these functions if g_thread_init() is called.
1998-11-01applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog entryManish Singh
* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog entry appended below) * testglib.c * gstrfuncs.c * glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone * gmessages.c * gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H -Yosh
1998-10-27removed dummy structure definitions for struct _GCache, _GTree, _GTimer,Tor Lillqvist
Tue Oct 27 03:00:50 1998 Tim Janik <timj@gtk.org> * glib.h: removed dummy structure definitions for struct _GCache, _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk. * gutils.c: implement glib's inline functions _after_ all include statements have been processed. removed Tor's MAXPATHLEN check since there already was one supplied further down in this file. (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32, since lcc maybe used on other platforms as well. why in hell is this stuff required? (g_get_any_init): for windows, if the user name is supplied, use it as realname also. in general, if there is no homedir specified, use the tmpdir that we already figured. * gtimer.c (g_timer_elapsed): changed a g_assert() statement to g_return_if_fail(). * applied glib-tml-981020-0.patch for WIN32 portability, added some comments and g_return_if_fail() statements, minor indentation fixes. ChangeLog entry from Tor Lillqvist is appended. * glib.h (struct dirent): use lower case structure members. * glib.h: * makefile.lcc: * makefile.msc: s/COMPILING_GLIB/GLIB_COMPILATION/ 1998-10-20: Tor Lillqvist <tml@iki.fi> * README.win32 glib.def gmodule.def * glibconfig.h.win32 gmodule/gmoduleconf.h.win32: New files for the Windows port. The .def files list exported symbols for the Microsoft linker and compatibles. * configure.in: Added checks for some platform-dependent headers: pwd.h sys/param.h sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat. * gerror.c: Conditionalized inclusion of system-dependent headers. Changes for Windows: no gdb to do a stack trace. Just call abort(). * glib.h: Changes for Windows: Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for platform-dependent file name syntax elements. Added macros G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for platform-dependent search path syntax conventions. Added pragmas for Microsoft C to make it more pedantic. Marked GLib's global variables for export from DLL. Added the function g_strescape that escapes backslashes. Added functions g_path_is_absolute and g_path_skip_root to handle platform-dependent file name syntax. Added the function g_getenv that expands environment variables that contain references to other environment variables, as is typical on Windows NT. Added the GIOChannel structure which is used to encapsulate the IPC mechanism used by the GIMP's plug-ins, and possibly other things later. On Unix a GIOChannel encapsulates just a file descriptor. On Windows it contains a file handle from _pipe() and a few other things related to the implementation of gdk_input_add and GIMP plug-in communication. Subject to change. Removed duplicate declarations of the version variables. For the Microsoft compiler, declare own implementation of ftruncate and the <dirent.h> functions. * gmem.c: Define a symbolic name for the profiling table size. * gmessages.c: Conditionalized inclusion of unistd.h. On Windows, output using stdio to stdout. * gscanner.c: Conditionalized inclusion of unistd.h. Added changes for Microsoft C. Added CR to the skipped character set. Added small workaround for MSC compiler bug in g_scanner_cur_value. * gstrfuncs.c: Added the function g_strescape, which escapes the backslash character. Needed especially when printing Windows filenames. * gtimer.c: Conditionalized inclusion of unistd.h and sys/time.h. Added implementations for Windows. * gutils.c: Conditionalized inclusion of platform-dependent headers. Use the platform-independent file name syntax macros. Conditionalize code on platform-dependent features. Added the functions g_path_is_absolute g_path_skip_root and g_getenv. Added the GIOChannel-related functions. Added compiler-dependent Unix compatibility functions for Windows. * makefile.lcc makefile.msc: New files. Compiler-specific makefiles for LCC-Win32 and Microsoft C. Only Microsoft C is actually supported currently. * testglib.c: Added pathname check cases for Windows. Added workaround for bug in the Microsoft runtime library. Improved some tests a bit. Tue Oct 27 04:00:11 1998 Tim Janik <timj@gtk.org> * testgmodule.c (main): changed the #ifdef WIN32 test to NATIVE_WIN32, this needs to be more constistent throughout the code, do we go for NATIVE_WIN32 or WIN32? * gmodule.c (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32, since lcc maybe used on other platforms as well. * libgplugin_a.c (LibMain): * libgplugin_b.c (LibMain): likewise. not sure i like this special requirement for lcc in here. * gmodule-dl.c (_g_module_build_path): feature empty "" directories and prepend the module name with "lib". * gmodule-dld.c (_g_module_build_path): * gmodule-win32.c (_g_module_build_path): feature empty "" directories. * we need some more magic in the _g_module_build_path variants so we don't append/prepend lib and .so, .sl or .dll for those names that already contain it. * applied patch from Tor Lillqvist for g_module_build_path() and windows support. 1998-10-20: Tor Lillqvist <tml@iki.fi> * gmodule/gmodule-win32.c: New file. * gmodule/gmodule.c gmodule/gmodule.h: Added the funcion g_module_build_path that builds the path to a module file, decorating the name according to the system's conventions. Added the Windows implementation. * gmodule/libgplugin_a.c gmodule/libgplugin_b.c: Added LibMain for LCC-Win32. * gmodule/testgmodule.c: Handle Windows dll names.
1998-09-07check for all three inline keywords individually.Tim Janik
Mon Sep 7 07:53:21 1998 Tim Janik <timj@gtk.org> * configure.in: check for all three inline keywords individually. * glib.h: inlining hassle. for compilers that don't allow the `inline' keyword, mostly because of strict ANSI C compliance or dumbness, we try to fall back to either `__inline__' or `__inline'. we define G_CAN_INLINE, if the compiler seems to be actually *capable* to do function inlining, in which case inline function bodys do make sense. we also define G_INLINE_FUNC to properly export the function prototypes if no inlinig can be performed. we special case most of the stuff, so inline functions can have a normal implementation by defining G_INLINE_FUNC to extern and G_CAN_INLINE to 1. * ltconfig: (compiler PIC flag test): special case linux for non aout systems to honour lcc's position independant code (cases "linux*aout)" and "linux*)" got added). (this needs to go into libtool which does an advanced test, checking for __LCC__). * autogen.sh: take $CC=lcc into account by invoking automake with --include-deps so lcc isn't scared by gcc's auto-dependancy generation code. care about $ACLOCAL_FLAGS. optionally feature autoheader. * minor fixups in other places to cure some of lcc's warnings.
1998-08-24removed this function which was not publically exported in glib.h. toTim Janik
Mon Aug 24 02:08:56 1998 Tim Janik <timj@gtk.org> * glib.h: * gstring.c: * gstrfuncs.c: (g_vsprintf): removed this function which was not publically exported in glib.h. to export it, it should have been named differently in the first place, since its semantics differ from vsprintf(). apart from that, it was a possible cause for problems since it worked on a previously allocated memory area and was used in a lot places of glib. exporting it would have been a guararant for problems with threaded programs. (g_printf_string_upper_bound): exported this function to return a string size, guarranteed to be big enough to hold the fully expanded format+args string. added 'q', 'L' and 'll' flag handling. in fact, the newly allocated area is in most cases much bigger than required. (g_strdup_vprintf()): new function returning a newly allocated string containing the contents of *format and associated args (size is calculated with g_printf_string_upper_bound()). (g_strdup_printf): new function which wraps g_strdup_vprintf(). * configure.in: check for va_copy() or __va_copy() alternatively. check whether va_lists can be copyied by value. * glib.h: provide a definition for G_VA_COPY. * glib.h: * gmessages.c: (g_logv): (g_vsnprintf): pass va_lists by value, not by reference, since this causes problems on platforms that implement va_list as as arrays. internaly, use G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second va_list variable, if multiple passes are required. changed all callers. * glib.h: * gerror.h: renamed g_debug() to g_on_error_query(), cleaned up a bit. renamed g_stack_trace() to g_on_error_stack_trace() since both functions cluttered different namespaces. there is an appropriate comment in glib.h now that explains the unix and gdb specific dependencies of both functions. removed g_attach_process(). g_on_error_stack_trace() should probably be handled with caution, i've seem several different linux versions (2.0.x) become unstable after invokation of this function.
1998-08-18new function g_log_set_always_fatal() to set an additional fatal_mask forTim Janik
Tue Aug 18 04:40:17 1998 Tim Janik <timj@gtk.org> * glib.h: * gmessages.c: new function g_log_set_always_fatal() to set an additional fatal_mask for log levels that are considered to be fatal globally (required by gtk). since this mask is not domain-associated, it is restricted to the log levels, introduced by glib itself. * gmem.c: * grel.c: * gtree.c (g_tree_node_check): don't use g_print() calls for informational/debugging output, but log all this stuff through g_log() with G_LOG_LEVEL_INFO. libraries shouldn't use printf(), g_print() or g_printerr() at all.
1998-08-17feature an extra MODULES parameter, so glib-config can be invoked with theTim Janik
Mon Aug 17 01:46:14 1998 Tim Janik <timj@gtk.org> * glib.m4: feature an extra MODULES parameter, so glib-config can be invoked with the "gmodule" argument. * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all g_return*_if_fail statements, and made them issue a message like "assertion `%s' failed". * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to g_log_find_domain.
1998-08-16version bump to 1.1.3, binary age 0, interface age 0.Tim Janik
Sun Aug 16 20:28:27 1998 Tim Janik <timj@gtk.org> * version bump to 1.1.3, binary age 0, interface age 0. * glib.h: be nice to platforms that don't have gint64 and don't issue #warning on every compilation. since glib doesn't require gint64 itself, packages that need gint64 should test for this themselves. * glib.h: * gutils.c: added a new function g_vsnprintf(). Fri Aug 14 16:41:53 1998 Tim Janik <timj@gtk.org> * glib.h: added static inline functions for bit mask tests: g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage. Fri Aug 13 14:23:37 1998 Tim Janik <timj@gtk.org> * glib.h: * gmessages.c: revised the message handling system, which is now based on a new mechanism g_log*. most of the assertment macros got adapted to feature the new g_log() call with an additional specification of the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN is undefined upon the includion of glib.h, it'll be defined with a value of (NULL) and thus preserves the original bahaviour for warning and error messages. the message handler setting functions for g_warning, g_error and g_message are only provided for backwards compatibility and might get removed somewhen. * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain to "GLib" upon compilation. we currently have to add this definition to the DEFS variable. * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start of this file currently, since automake doesn't support per target _CFLAGS yet. * glib.h: changed some gints to gbooleans, made a few const corrections, removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some in other required places. * gnode.c: (g_node_prepend): (g_node_insert_before): (g_node_insert): (g_node_append_data): (g_node_prepend_data): (g_node_insert_data_before): (g_node_insert_data): (g_node_append): return (node), so these macros/functions can be usefully chained with g_node_new(). [GModule] Fri Aug 14 02:24:39 1998 Tim Janik <timj@gtk.org> * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain to "GModule" upon compilation. we currently have to add this definition to the DEFS variable. * testgmodule.c: we need an ugly #undef G_LOG_DOMAIN at the start of this file currently, since automake doesn't support per target _CFLAGS yet.
1998-06-10Initial revisionOwen Taylor