1. 06 Aug, 2000 1 commit
    • Tim Janik's avatar
      keep *last updated while running through the domain list, so we don't · 042179da
      Tim Janik authored
      Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
      
              * gmessages.c (g_log_domain_check_free): keep *last updated while
              running through the domain list, so we don't screw up the removal,
              patch provided by Gady Kozma <gadykozma@hotmail.com>.
      
      Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
      
              * gmessages.c (g_log_remove_handler): keep *last updated while running
              through the handler list, so we don't screw up the removal.
      042179da
  2. 26 Jul, 2000 1 commit
  3. 31 Oct, 1999 1 commit
    • Tor Lillqvist's avatar
      Don't crash if removing a nonexistent value. · 30cc3ed1
      Tor Lillqvist authored
      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.
      30cc3ed1
  4. 12 Oct, 1999 1 commit
    • Tim Janik's avatar
      completly new implementation for printf string upper bounds calculation. · 30a1e1ad
      Tim Janik authored
      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).
      30a1e1ad
  5. 04 Oct, 1999 1 commit
  6. 13 Sep, 1999 1 commit
    • Tim Janik's avatar
      in case we have to abort the program, debugging is enabled and we are not · 6072e65c
      Tim Janik authored
      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.
      6072e65c
  7. 15 Aug, 1999 1 commit
    • Tim Janik's avatar
      eliminate memset() call, since string.h has not neccessarily been included · 9c53053a
      Tim Janik authored
      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).
      9c53053a
  8. 24 Feb, 1999 1 commit
  9. 02 Feb, 1999 1 commit
    • Tor Lillqvist's avatar
      Don't call ensure_stdout_valid (which would open an unneeded console · 02212636
      Tor Lillqvist authored
      * 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.
      02212636
  10. 16 Jan, 1999 1 commit
    • Tor Lillqvist's avatar
      Merge in current Win32 version. Almost no Unix code touched. · f477518c
      Tor Lillqvist authored
      	* 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.
      f477518c
  11. 15 Dec, 1998 1 commit
    • Owen Taylor's avatar
      This commit merges the glib-threads branch into the main · 931ea952
      Owen Taylor authored
      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.
      931ea952
  12. 01 Nov, 1998 1 commit
  13. 27 Oct, 1998 1 commit
    • Tor Lillqvist's avatar
      removed dummy structure definitions for struct _GCache, _GTree, _GTimer, · a6149403
      Tor Lillqvist authored
      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.
      a6149403
  14. 07 Sep, 1998 1 commit
    • Tim Janik's avatar
      check for all three inline keywords individually. · 0b42c37e
      Tim Janik authored
      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.
      0b42c37e
  15. 24 Aug, 1998 1 commit
    • Tim Janik's avatar
      removed this function which was not publically exported in glib.h. to · b420fa84
      Tim Janik authored
      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.
      b420fa84
  16. 18 Aug, 1998 1 commit
    • Tim Janik's avatar
      new function g_log_set_always_fatal() to set an additional fatal_mask for · e1f0fb0c
      Tim Janik authored
      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.
      e1f0fb0c
  17. 17 Aug, 1998 1 commit
    • Tim Janik's avatar
      feature an extra MODULES parameter, so glib-config can be invoked with the · e93e4945
      Tim Janik authored
      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.
      e93e4945
  18. 16 Aug, 1998 1 commit
    • Tim Janik's avatar
      version bump to 1.1.3, binary age 0, interface age 0. · d5803865
      Tim Janik authored
      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.
      d5803865
  19. 10 Jun, 1998 1 commit