1. 11 Oct, 2017 1 commit
  2. 03 Aug, 2017 1 commit
    • Philip Withnall's avatar
      Consistently save errno immediately after the operation setting it · 5cddde1f
      Philip Withnall authored
      Prevent the situation where errno is set by function A, then function B
      is called (which is typically _(), but could be anything else) and it
      overwrites errno, then errno is checked by the caller.
      
      errno is a horrific API, and we need to be careful to save its value as
      soon as a function call (which might set it) returns. i.e. Follow the
      pattern:
        int errsv, ret;
        ret = some_call_which_might_set_errno ();
        errsv = errno;
      
        if (ret < 0)
          puts (strerror (errsv));
      
      This patch implements that pattern throughout GLib. There might be a few
      places in the test code which still use errno directly. They should be
      ported as necessary. It doesn’t modify all the call sites like this:
        if (some_call_which_might_set_errno () && errno == ESOMETHING)
      since the refactoring involved is probably more harmful than beneficial
      there. It does, however, refactor other call sites regardless of whether
      they were originally buggy.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=785577
      5cddde1f
  3. 22 Dec, 2013 1 commit
  4. 19 Jan, 2007 1 commit
    • Matthias Clasen's avatar
      Some file list updates (#398069, Owen Taylor) · 912027f0
      Matthias Clasen authored
      2007-01-19  Matthias Clasen  <mclasen@redhat.com>
      
              Some file list updates (#398069, Owen Taylor)
      
              * docs/Changes-2.0.txt
              * docs/reference/README.cvs-commits
              * glib.spec.in: Remove obsolete files
      
              * tests/Makefile.am:
              * glib/libcharset/Makefile.am:
              * gobject/Makefile.am:
              * Makefile.am: Add some missing files to EXTRA_DIST
      
              * tests/timeloop-basic.c: Make it build
              * HACKING: Small updates
      
      
      svn path=/trunk/; revision=5302
      912027f0
  5. 28 Dec, 2006 1 commit
  6. 04 Jul, 2002 1 commit
  7. 23 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane. · f5c28ce4
      Owen Taylor authored
      Wed Jun 20 12:00:54 2001  Owen Taylor  <otaylor@redhat.com>
      
              Changes for 64-bit cleanliness, loosely based on patch
      	from Mark Murnane.
      
      	* gconvert.c (g_convert/g_convert_with_fallback): Remove
      	workarounds for since-fixed GNU libc bugs. Minor
      	doc fix.
      
      	* gconvert.[ch]: Change gint to gsize/gssize as
      	appropriate.
      
      	* gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
      	computation of bytes_read / bytes_written.
      
      	* gfileutils.[ch] (g_file_get_contents): Make length
      	out parameter 'gsize *len'.
      
      	* ghook.c (g_hook_compare_ids): Don't compare a
      	and b as 'a - b'.
      
      	* gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
      	GSIZE_TO_POINTER.
      
      	* gmain.c (g_timeout_prepare): Rewrite to avoid
      	overflows. (Fixes bug when system clock skews
      	backwards more than 24 days.)
      
      	* gmarkup.[ch]: Make lengths passed to callbacks
      	gsize, length for g_markup_parse-context_parse(),
      	g_markup_escape_text() gssize.
      
      	* gmessages.[ch] (g_printf_string_upper_bound): Change
      	return value to gsize.
      
      	* gmessages.c (printf_string_upper_bound): Remove
      	a ridiculous use of 'inline' on a 300 line function.
      
      	* gstring.[ch]: Represent size of string as a gsize,
      	not gint. Make parameters to functions take gsize,
      	or gssize where -1 is allowed.
      
      	* gstring.c (g_string_erase): Make
      	g_string_erase (string, pos, -1) a synonym for
      	g_string_truncate for consistency with other G*
      	APIs.
      
      	* gstrfuncs.[ch]: Make all functions taking a string
      	length, take a gsize, or gssize if -1 is allowed.
      	(g_strstr_len, g_strrstr_len). Also fix some boundary
      	conditions in g_str[r]str[_len].
      
      	* gutf8.c tests/unicode-encoding.c: Make parameters that
      	are byte lengths gsize, gssize as appropriate. Make
      	character offsets, other counts, glong.
      
      	* gasyncqueue.c gcompletion.c
                timeloop.c timeloop-basic.c gutils.c gspawn.c.
      	Small 64 bit cleanliness fixups.
      
      	* glist.c (g_list_sort2, g_list_sort_real): Fix functions
      	that should have been static.
      
      	* gdate.c (g_date_fill_parse_tokens): Fix extra
      	declaration that was shadowing another.
      
      	* tests/module-test.c: Include string.h
      
      Mon Jun 18 15:43:29 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gutf8.c (g_get_charset): Make argument
      	G_CONST_RETURN char **.
      f5c28ce4
  8. 05 Dec, 2000 1 commit
    • Owen Taylor's avatar
      Major change in API for creating sources to handle multiple main loops · e2fd4e2b
      Owen Taylor authored
      Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gmain.[hc]: Major change in API for creating sources
      	to handle multiple main loops (GMainContext *).
      
      	GSources are now exposed as GSource * and implemented
      	with structure derivation.
      
      	* giochannel.[ch]: Changed vtable for GIOChannel to correspond
      	to the new mainloop API, add g_io_channel_create_watch().
      
      	* gtypes.h: Move GTimeVal here.
      
      	* gthread.h: Remove gmain.h include to avoid circularity.
      
              * giounix.c: Update for new GMain API.
      
      	* giowin32.c: Update for new GMain API. (No check for
      	proper compilation or working.)
      
      	* timeloop.c timeloop-basic.c: A benchmarking program for
      	the main loop comparing the main loop against a
      	hand-written (timeloop-basic.c) variant.
      
      	* tests/mainloop-test.c: New torture test of mainloop.
      
      	* docs/Changes-2.0.txt: Started. Added text about
      	changes to GMain.
      
      	* gmain.c (g_main_add_poll_unlocked): Initial fd->revents
      	to zero. (#8482, Benjamin Kahn)
      e2fd4e2b