1. 06 Mar, 2019 1 commit
    • LRN's avatar
      W32: Add a simple exception handler · 025a3467
      LRN authored
      Install a Vectored Exception Handler[0]. Its sole purpose is to catch
      some exceptions (access violations, stack overflows, illegal
      instructions and debug breaks - by default, but it can be made to catch
      any exception for which a code is known) and run a debugger in response.
      This allows W32 glib applications to be run without a debugger,
      but at the same time allows a debugger to be attached in case
      something happens.
      The debugger is run with a new console, unless an environment variable
      is set to allow it to inherit the console of the crashing process.
      The short list of handleable exceptions is there to ensure that
      this handler won't run a debugger to "handle" utility exceptions,
      such as the one that is used to communicate thread names to a debugger.
      The handler is installed to be called last, and shouldn't interfere
      with any user-installed handlers.
      There's nothing fancy about the way it runs a debugger (it doesn't even
      support unicode in paths), and it deliberately avoids using glib code.
      The handler will also print a bit of information about the exception
      that it caught, and even more information for well-known exceptions,
      such as access violation.
      The whole scheme is similar to AeDebug[1] and, in fact, the signal-event
      gdb command was originally implemented for this very purpose.
      [0]: https://docs.microsoft.com/en-us/windows/desktop/debug/vectored-exception-handling
      [1]: https://docs.microsoft.com/en-us/windows/desktop/debug/configuring-automatic-debugging
  2. 31 May, 2018 1 commit
  3. 26 Apr, 2018 2 commits
  4. 24 May, 2017 1 commit
    • Sébastien Wilmet's avatar
      glib/: LGPLv2+ -> LGPLv2.1+ · f9faac76
      Sébastien Wilmet authored
      All glib/*.{c,h} files have been processed, as well as gtester-report.
      12 of those files are not licensed under LGPL:
      Some of them are generated files, some are licensed under a BSD-style
      license and win_iconv.c is in the public domain.
      Sub-directories inside glib/:
      	deprecated/: processed in a previous commit
      	glib-mirroring-tab/: already LGPLv2.1+
      	gnulib/: not modified, the code is copied from gnulib
      	libcharset/: a copy
      	pcre/: a copy
      	tests/: processed in a previous commit
  5. 27 Apr, 2016 1 commit
  6. 06 Feb, 2014 1 commit
  7. 01 Feb, 2014 4 commits
  8. 31 Jan, 2014 1 commit
  9. 20 Nov, 2013 2 commits
    • Dan Winship's avatar
      Require POSIX.1 (1990) compliance on unix · 3981cddb
      Dan Winship authored
      Assume unix platforms support the original POSIX.1 standard.
      Specifically, assume that if G_OS_UNIX, then we have chown(),
      getcwd(), getgrgid(), getpwuid(), link(), <grp.h>, <pwd.h>,
      <sys/types.h>, <sys/uio.h>, <sys/wait.h>, and <unistd.h>.
      Additionally, since all versions of Windows that we care about also
      have <sys/types.h>, we can remove HAVE_SYS_TYPES_H checks everywhere.
      Also remove one include of <sys/times.h>, and the corresponding
      configure check, since the include is not currently needed (and may
      always have just been a typo for <sys/time.h>).
    • Dan Winship's avatar
      Remove alleged support for BeOS · 51a917bc
      Dan Winship authored
      Since the initial addition of BeOS support in 1999, there has only
      been one update to it (in 2005, and it wasn't even very big). GLib is
      known to not currently build on Haiku (or presumably actual BeOS)
      without additional patching, and the fact that there isn't a single
      G_OS_BEOS check in gio/ is suspicious.
      Additionally, other than the GModule implementation, all of the
      existing G_OS_BEOS checks are either (a) "G_OS_UNIX || G_OS_BEOS", or
      (b) random minor POSIXy tweaks (include this header file rather than
      that one, etc), suggesting that if we were going to support Haiku, it
      would probably be simpler to treat it as a special kind of G_OS_UNIX
      (as we do with Mac OS X) rather than as its own completely different
      So, kill G_OS_BEOS.
  10. 19 Nov, 2013 1 commit
  11. 13 Jan, 2013 1 commit
  12. 06 Jan, 2012 1 commit
  13. 05 Oct, 2011 1 commit
  14. 20 Jul, 2011 1 commit
  15. 06 Sep, 2010 1 commit
  16. 04 Sep, 2010 1 commit
  17. 03 Sep, 2010 1 commit
  18. 07 Jul, 2010 1 commit
  19. 31 Dec, 2008 1 commit
  20. 10 Sep, 2006 1 commit
  21. 17 Nov, 2005 1 commit
  22. 18 Aug, 2005 1 commit
    • Tor Lillqvist's avatar
      Check for <sys/wait.h> · 3c449f00
      Tor Lillqvist authored
      2005-08-18  Tor Lillqvist  <tml@novell.com>
      	* configure.in: Check for <sys/wait.h>
      	* glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
  23. 15 Aug, 2005 1 commit
  24. 30 Jun, 2005 1 commit
    • Matthias Clasen's avatar
      Apply a patch which may make GLib work on BeOS again. (#309157, Kian · b78a0792
      Matthias Clasen authored
      2005-06-30  Matthias Clasen  <mclasen@redhat.com>
      	Apply a patch which may make GLib work on BeOS again.
      	(#309157, Kian Duffy)
      	* glib/gmain.c: Update the BeOS includes.
      	* glib/gstdio.c:
      	* glib/gutils.c (g_find_program_in_path):
      	* glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
      	implementation on BeOS, as well.
      	* configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
      	on BeOS.
  25. 18 Mar, 2005 1 commit
    • Hans Breuer's avatar
      handle galiasdef.c (although completely useless for msvc build) · 6b551645
      Hans Breuer authored
      2005-03-18  Hans Breuer  <hans@breuer.org>
      	* glib/makefile.msc.in : handle galiasdef.c (although completely
      	useless for msvc build)
      	* glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
      	for IsDebuggerPresent()
      	* gobject/makefile.msc.in : handle gobjectaliasdef.c
  26. 14 Mar, 2005 1 commit
    • Matthias Clasen's avatar
      Make PLT-reduction work with gcc4, and don't include everything in · 608a31b9
      Matthias Clasen authored
      2005-03-13  Matthias Clasen  <mclasen@redhat.com>
      	Make PLT-reduction work with gcc4, and don't include
      	everything in galias.h:
      	* glib/glib.symbols: Group symbols by header and source file.
      	* glib/makegalias.pl: Protect definitions by the same
      	preprocessor symbols used to guard the headers. Move
      	the alias declarations to a separate file which is
      	produced when calling makegalias.pl -def
      	* glib/Makefile.am (galiasdef.c): Add a rule to generate this
      	* glib/*.c: Include galias.h after the other GLib headers,
      	include galiasdef.c at the bottom.
  27. 19 Jan, 2005 1 commit
    • Tor Lillqvist's avatar
      On Win32 call G_BREAKPOINT() if being debugged. · a4bfec4f
      Tor Lillqvist authored
      2005-01-19  Tor Lillqvist  <tml@novell.com>
      	* glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
      	G_BREAKPOINT() if being debugged.
      	* glib/gmessages.c (g_logv): For fatal messages on Win32, use
      	G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being
      	debugged. Suggestion by Ulf Lamping. Otherwise use FatalAppExit().
  28. 16 Sep, 2004 1 commit
  29. 04 Dec, 2002 1 commit
  30. 21 Nov, 2002 1 commit
    • Matthias Clasen's avatar
      Include a printf implementation supporting C99 snprintf and SUS · bc54ea6e
      Matthias Clasen authored
      	positional parameters:  (#79488)
      	* glib/gstrfuncs.c:
      	* glib/gspawn-win32.c:
      	* glib/gscanner.c:
      	* glib/gconvert.c:
      	* glib/gbacktrace.c: Use _g_printf wrappers.
      	* glib/gutils.c (g_vsnprintf): Simplify, since we can assume C99
      	snprintf semantics now.
      	* glib/gmessages.c (printf_string_upper_bound): No longer needed,
      	since we can assume C99 snprintf semantics now.
      	(g_logv): Simplify.
      	* acinclude.m4 (AC_FUNC_PRINTF_UNIX98): New macro to check wether
      	printf supports SUS positional parameters.
      	* configure.in: New option --enable-included-printf to force
      	compilation of trio; otherwise trio is compiled if the system
      	printf misses either C99 snprintf semantics of SUS positional
      	* glib/Makefile.am (SUBDIRS): Conditionally compile trio.
      	(libglib_2_0_la_SOURCES): Add gprintf.c and gprintfint.h.
      	(glibsubinclude_HEADERS): Add gprintf.h.
      	* glib/gprintfint.h: New private wrapping either system printf
      	or trio printf variants in _g_printf wrappers for use inside glib.
      	* glib/gprintf.h: New public header declaring g_printf variants.
      	* glib/gprintf.c: Corresponding implementations.
      	* glib/trio/*: New directory, containing the trio-1.9 sources.
      	* glib/tmpl/string_utils.sgml: Add note on including gprintf.h,
      	move some docs inline.
      	* glib/glib-sections.txt: Add g_printf, g_vprintf, g_fprintf,
      	g_vfprintf, g_sprintf, g_vsprintf.
  31. 09 Mar, 2001 1 commit
    • Tor Lillqvist's avatar
      Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>. · 5c00c349
      Tor Lillqvist authored
      2001-02-21  Tor Lillqvist  <tml@iki.fi>
      	Cygwin support contributed by Stefan Ondrejicka
      	<ondrej@idata.sk>. Hopefully I got it all in while simultaneously
      	adding support for auto*/libtool for mingw.
      	* Makefile.am: Changes for auto* support on Cygwin and Win32. Do
      	still distribute the hand-written makefiles and *.win32.in files,
      	though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
      	Use -no-undefined. Pass -export-symbols glib.def to libtool.
      	* configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
      	and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
      	calls for Cygwin and mingw support.  Check for %I64u guint64
      	format (in MS C library). Set G_MODULE_IMPL on mingw and
      	Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
      	and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
      	automake conditional on Win32.
      	* glib.h: Include gwin32.h also on Cygwin.
      	* gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
      	Unix) for Cygwin's sake.
      	* gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
      	* gconvert.c
      	* gthread.c
      	* gutf8.c
      	* gutils.c: For code needed both on Cygwin and native Win32,
      	test for G_PLATFORM_WIN32.
      	* gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
      	in case compiling a static library on Win32 or Cygwin.
      	* gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
      	dirent emulation on Cygwin.
      	(get_package_directory_from_module) Convert return value from
      	GetModuleFileName() to POSIX path on Cygwin.
      	* tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
      	and libgmodule as appropriate. Use -no-undefined.
      	* gbacktrace.c: Move #ifdefs around a bit on Win32.
      	* gshell.c (unquote_string_inplace): Make static.
  32. 26 Jul, 2000 1 commit
  33. 13 Jul, 2000 1 commit
    • Tor Lillqvist's avatar
      Add g_error functions. · f4e591eb
      Tor Lillqvist authored
      2000-07-14  Tor Lillqvist  <tml@iki.fi>
      * glib.def: Add g_error functions.
      * makefile.mingw.in: Add gbacktrace.o.
      * gbacktrace.c: No need to include <process.h>.
  34. 04 Oct, 1999 2 commits