177 Commits

Author SHA1 Message Date
Matthias Clasen
1fe373b279 Don't fork a new process just to fix the permissions of the created temp
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c: Don't fork a new process just to
	fix the permissions of the created temp file.  (#321318,
	Alexis S. L. Carvalho)
2005-12-03 06:10:52 +00:00
Matthias Clasen
833abd554a Take a va_list*, not a va_list, to avoid compiler warnings about
2005-08-10  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c (g_build_path_va, g_build_pathname_va):
	Take a va_list*, not a va_list, to avoid compiler warnings
	about uninitialized variables.
2005-08-10 04:07:47 +00:00
Matthias Clasen
b36f775177 Fix a typo. (#310243, Richard Laager)
2005-07-13  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c (g_mkdir_with_parents): Fix a
	typo.  (#310243, Richard Laager)
2005-07-13 18:59:46 +00:00
Tor Lillqvist
80d0d5690f glib/Makefile.am gmodule/Makefile.am Current GNU tools do understand the
2005-06-24  Tor Lillqvist  <tml@novell.com>

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am: Current GNU tools do understand the
	PRIVATE keyword.

	* glib/gfileutils.c (g_mkdir_with_parents): Return error with
	EINVAL also for empty pathnames.
	(g_build_pathname_va): Fix typo.
2005-06-24 13:26:45 +00:00
Manish Singh
20c16cd277 g_build_filename_va is only use in the G_OS_WIN32 case, so compile it
Thu Jun 23 15:52:08 2005  Manish Singh  <yosh@gimp.org>

        * glib/gfileutils.c: g_build_filename_va is only use in the G_OS_WIN32
        case, so compile it conditionally.
2005-06-23 22:52:49 +00:00
Matthias Clasen
a6312099c7 Add some language-binding friendly variants 2005-06-23 05:50:53 +00:00
Tor Lillqvist
b8c119f901 glib/gfileutils.c glib/gfileutils.h glib/glib.symbols Rename g_makepath()
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c
	* glib/gfileutils.h
	* glib/glib.symbols
	* tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
2005-06-22 18:55:33 +00:00
Tor Lillqvist
1833a93ddd New function. Creates a directory including intermediate parent
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c (g_makepath): New function. Creates a
	directory including intermediate parent directories as
	needed. (#60509)

	* glib/gfileutils.h: Declare it.

	* glib/glib.symbols: Add it.

	* tests/testglib.c: Test it.
2005-06-22 09:43:37 +00:00
Owen Taylor
2ae1a46b4c Add g_object_add/remove_toggle_ref() functions to get notification when a
2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * gobject.[ch] gobject.symbols: Add
        g_object_add/remove_toggle_ref() functions to get notification
        when a reference count is the last remaining reference; this
        enables better memory management for language bindings.
        (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
        g_datalist_set/unset_flags(), g_datalist_get_flags() functions
        to squeeze some bits into a GDataSet... this is needed for
        efficient implementation of toggle references in GObject.

        * tests/gobject/references.c tests/gobject/Makefile.am:
        Add a test case for weak and toggle references.

        * glib/gfileutils.[ch]: Rename g_file_replace() back
        to g_file_set_contents().

        * glib/glib.symbols: Update.

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
        Update

        * gobject/tmpl/objects.sgml: Document toggle-references.
2005-05-05 14:57:29 +00:00
Tor Lillqvist
2def3c144f Minor comment improvement.
2005-04-19  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h: Minor comment improvement.

2005-04-18  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
	save_errno was missing in one place.
2005-04-19 08:08:36 +00:00
Soeren Sandmann
da536e7e42 Save the errno in various places
Sat Apr 16 20:15:44 2005  Soeren Sandmann  <sandmann@redhat.com>

	* glib/gfileutils.c (g_file_replace): Save the errno in various
	places

	* glib/gfileutils.c (set_umask_permissions): Fork a child and do
	chmod() to the umask() permissions there.
2005-04-17 00:16:51 +00:00
Matthias Clasen
4fe1315d5e Avoid memory leaks in borderline cases. (#172612, Morten Welinder)
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c (get_contents_stdio): Avoid memory
	leaks in borderline cases.  (#172612, Morten Welinder)
2005-04-05 04:09:49 +00:00
Sven Neumann
ec2d35edc3 handle the unlikely case that no bytes are read from the file and allocate
2005-03-30  Sven Neumann  <sven@gimp.org>

	* glib/gfileutils.c (get_contents_stdio): handle the unlikely case
	that no bytes are read from the file and allocate an empty string.
2005-03-30 21:59:40 +00:00
Matthias Clasen
608a31b98e Make PLT-reduction work with gcc4, and don't include everything in
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
	file.
	* glib/*.c: Include galias.h after the other GLib headers,
	include galiasdef.c at the bottom.
2005-03-14 04:26:57 +00:00
Soeren Sandmann
858107437b Don't try and generate a dotfile from the name -- it doesn't work with
Fri Mar 11 23:51:12 2005  Soeren Sandmann  <sandmann@redhat.com>

	* glib/gfileutils.c (write_to_temp_file): Don't try and generate
	a dotfile from the name -- it doesn't work with absolute
	paths. Also make documentation indicate that symlinks will be
	overwritten. Both pointed out by Alexis S. L. Carvalho.
2005-03-12 05:45:32 +00:00
Sven Neumann
aec8923fa6 delay memory allocation until after the first read. Saves a bunch of
2005-03-10  Sven Neumann  <sven@gimp.org>

	* glib/gfileutils.c (get_contents_stdio): delay memory allocation
	until after the first read. Saves a bunch of reallocs. Also
	increased the buffer size to 4096 bytes. (bug #165954)

	* tests/file-test.c (test_get_contents): added a (very basic) test
	for g_file_get_contents().
2005-03-10 12:56:01 +00:00
Sven Neumann
cd8a0ac41f avoid unnecessary filename conversions.
2005-03-09  Sven Neumann  <sven@gimp.org>

	* glib/gfileutils.c (g_file_replace): avoid unnecessary filename
	conversions.
2005-03-09 11:22:09 +00:00
Søren Sandmann
331548d91c New API. A function to atomically create a file.
Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>

	* glib/gfileutils.c (g_file_replace): New API. A function to
	atomically create a file.
2005-03-08 20:51:49 +00:00
Tor Lillqvist
ec66d4530e Use g_fopen(). (#168341, Daniel Atallah)
2005-02-24  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
	Daniel Atallah)
2005-02-24 23:46:36 +00:00
Tor Lillqvist
fc67e936f8 In the Win32 ABI stability version, call g_file_get_contents_utf8(), not
2005-02-05  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
	stability version, call g_file_get_contents_utf8(), not
	itself. (#166386)
2005-02-05 22:09:11 +00:00
Tor Lillqvist
031ebdd193 Don't use potentially incorrect errno in several places. (#165951)
2005-02-02  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c: Don't use potentially incorrect errno in
	several places. (#165951)
	(g_mkstemp): Set errno appropriately.
2005-02-02 23:28:18 +00:00
Hans Breuer
c21df964da make it compile with mvc6 default sdk, (#define INVALID_FILE_ATTRIBUTES,
2005-01-09  Hans Breuer  <hans@breuer.org>

	* glib/gfileutils.c : make it compile with mvc6 default sdk,
	(#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
2005-01-09 21:43:40 +00:00
Tor Lillqvist
f45d2ee724 Include <io.h> on Windows for prototypes. (#163390, Kazuki Iwamoto)
2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>

	* glib/gfileutils.c: Include <io.h> on Windows for
	prototypes. (#163390, Kazuki Iwamoto)
2005-01-09 01:18:32 +00:00
Matthias Clasen
30425906b5 Clarify the documentation. (#162251, Mariano Suárez-Alvarez)
2005-01-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c (g_file_get_contents): Clarify the
	documentation.  (#162251, Mariano Suárez-Alvarez)
2005-01-03 18:56:20 +00:00
Tor Lillqvist
714887d0fa glib/glib.symbols glib/gutils.h Make also g_getenv(), g_setenv(),
2005-01-01  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.symbols
	* glib/gutils.h
	* glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
	and g_find_program_in_path() take and return UTF-8 strings on
	Win32. Implement DLL ABI backward compatility for them, too. Move
	all the DLL ABI stability wrappers to the end of the file. Use
	wide character API when available in inner_find_program_in_path().

	* glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
	use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
	to consider somebody actually having anything else than ASCII
	in PATHEXT, but...)
2005-01-01 02:09:51 +00:00
Tor Lillqvist
7e6be89c62 Rewrite the Win32 version to use GetFileAttributes() instead of stat().
2004-12-31  Tor Lillqvist  <tml@iki.fi>

	* glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
	use GetFileAttributes() instead of stat(). stat() is unreliable
	for corner cases like '\\server\share' or '.\'. Part of fixing
	#161797. When testing for executability, in addition to the fixed
	set of executable file name extensions also check the PATHEXT
	environment variable.
2004-12-31 01:15:15 +00:00
Matthias Clasen
647aba60aa Typo fix. 2004-12-30 05:18:56 +00:00
Tor Lillqvist
912ba0d43c Document that the result is guaranteed to be non-NULL.
2004-11-04  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c (g_filename_display_name): Document that the
	result is guaranteed to be non-NULL.

	* glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
	get_contents_posix, get_contents_win32, g_file_open_tmp,
	g_file_read_link): Use g_filename_display_name() for error
	messages.
	(g_mkstemp): Document that the template should be in the GLib file
	name encoding.
	(g_file_open_tmp): Ditto. Also document that the actual name
	returned is also in the GLib file name encoding.
2004-11-04 00:37:47 +00:00
Matthias Clasen
8a7eecd7c6 Introduce the idea of a filename encoding, which is *literally* the
2004-10-27  Matthias Clasen  <mclasen@redhat.com>

	Introduce the idea of a filename encoding, which is
	*literally* the filename encoding on Unix. On windows,
	use the Unicode name converted to UTF-8. (#156325,
	Tor Lillqvist, Owen Taylor)

	* glib/gdir.[hc]:
	* glib/gconvert.[hc]:
	* glib/gfileutils.[hc]:
	* glib/gutils.[hc]:
	* glib/giowin32.c: On Windows, keep old ABI versions
	of GLib pathname api for DLL ABI stability. Use different
	names for the new-style UTF-8 versions. Hide this through
	a #define.

	* glib/gstdio.[hc]: New files containing wrappers for
	POSIX pathname api.

	* glib/glib.symbols: Add new symbols.

	* glib/makegalias.pl: Drop Win32 specific .def syntax,
	include gstdio.h
2004-10-27 16:46:29 +00:00
Manish Singh
5c38cfa58d rm autom4te.cache, since it might interfere with differing autoconf
Mon Oct 25 15:05:18 2004  Manish Singh  <yosh@gimp.org>

        * autogen.sh: rm autom4te.cache, since it might interfere with
        differing autoconf versions.

        * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
        user data.

        * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
        don't redefine it here.
2004-10-25 22:08:37 +00:00
Matthias Clasen
01f4ccc859 Fix some C99isms. (#154676, Kjartan Maraas)
2004-10-06  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c: Fix some C99isms.  (#154676, Kjartan Maraas)
2004-10-06 15:05:40 +00:00
Matthias Clasen
ea58e960f9 Convert filenames to UTF-8 before putting them in GErrors. (#154078,
2004-09-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c: Convert filenames to UTF-8 before
	putting them in GErrors.  (#154078, Morten Welinder)
2004-09-30 04:03:16 +00:00
Matthias Clasen
dafdffd751 Implement the same PLT reduction technique used in GTK+:
Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>

	Implement the same PLT reduction technique used in GTK+:
2004-09-16 06:05:53 +00:00
Matthias Clasen
981fe434ee Fix #151193, Stepan Kasal:
2004-08-27  Matthias Clasen  <mclasen@redhat.com>

	Fix #151193, Stepan Kasal:

	* glib/gfileutils.c (g_file_error_from_errno):
	* glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
2004-08-27 14:57:34 +00:00
Hans Breuer
aaa2ab083e make g_file_test(,G_FILE_TEST_IS_EXECUTABLE) return something useful on
2003-12-14  Hans Breuer  <hans@breuer.org>

	* glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
	return something useful on win32, too.
2003-12-14 19:05:29 +00:00
Tor Lillqvist
55d624d80c Fix #117925 (Dov Grobgeld):
2003-08-16  Tor Lillqvist  <tml@iki.fi>

	Fix #117925 (Dov Grobgeld):

	* glib/gutils.c (g_find_program_in_path, g_basename,
	g_path_get_basename, g_path_is_absolute, g_path_skip_root,
	g_path_get_dirname, g_get_any_init): On Win32, look also for
	slashes ('/') as pathname separators.

	* glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
	contains a pathname separator, include the actual one in the error
	message, instead of always the canonical one.

	(g_build_filename): Separate implementation on Win32 that looks
	for either slash or backslash. Document Unix/Windows differences.

	* tests/testglib.c
	* tests/strfunc-test.c: Test above functionality on Win32.
2003-08-16 19:45:25 +00:00
Matthias Clasen
15edef6ff2 Rename g_read_link() to g_file_read_link() to better match the remaining
* glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link() to better match the remaining file
	utilities in the g_file_ namespace and to better separate it from readlink(). This is hopefully no problem
	as the function is just 2 days old.
2003-07-29 22:31:40 +00:00
Matthias Clasen
cf9779628e Use gchar, gint, gsize instead of char, int, size_t in the interface for
2003-07-29  Matthias Clasen  <maclas@gmx.de>

	* glib/gqsort.[hc] (g_qsort_with_data):
	* glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri):
	* glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar, gint, gsize instead of char, int, size_t
	in the interface for consistency.  (#118567)
2003-07-29 18:59:23 +00:00
Matthias Clasen
355eb38190 New function g_read_link(). (#72545)
* glib/gfileutils.h:
	* glib/gfileutils.c: New function g_read_link(). (#72545)
2003-07-28 19:49:47 +00:00
Matthias Clasen
a412fb1654 Remove some explicit Docbook markup which is no longer necessary
since gtk-doc does the right thing.
2003-07-25 21:32:47 +00:00
Tor Lillqvist
12bc3d826c Fix off-by-one error. (#100853)
2002-12-11  Tor Lillqvist  <tml@iki.fi>

	* glib/gtimer.c (g_timer_elapsed): Fix off-by-one error. (#100853)

	* glib/gfileutils.c (g_file_test): Bypass extra test for root on
	Win32.

	* glib/glib.def: Add g_{get,set}_application_name.
2002-12-11 23:40:10 +00:00
Owen Taylor
87f9f15180 Guard against the POSIX allowed behavior where access (file, X_OK)
Sun Dec  8 23:36:12 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gfileutils.c (g_file_test): Guard against
        the POSIX allowed behavior where access (file, X_OK)
        succeeds for uid==0 when no executable bits are set.

        * glib/gfileutils.c (g_file_test): Add doc notes
        about the possibility of race conditions, and the
        fact that EXISTS and IS_EXECUTABLE give results
        for the real uid not the effective user ID.
        (#81854, Morten Welinder.)
2002-12-09 04:52:52 +00:00
Matthias Clasen
4009574b70 Document that the varargs must be NULL-terminated. (#99510)
* glib/gfileutils.c (g_build_path):
	(g_build_filename): Document that the varargs must be
	NULL-terminated. (#99510)
2002-11-25 21:43:35 +00:00
Owen Taylor
8dd32f5703 hu Jul 25 14:23:15 2002 Owen Taylor <otaylor@redhat.com>
* glib/gfileutils.c: Clarify the behavior of g_build_path()
        for empty elements and for leading and trailing copies
        of the separator in the docs.

        * glib/gfileutils.c: Fix problems with leading elements
        consisting only of "/" characters. (#85928, Guillaume Chazarain)

        * tests/strfunc-test.c (main): Add more test cases
        for g_build_filename().
2002-07-26 19:59:07 +00:00
Owen Taylor
81ad1bb215 Fix double close of file descriptor on error. (#82139, Wayne Schuller)
Mon May 20 15:35:59 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gfileutils.c (get_contents_regfile): Fix double
        close of file descriptor on error. (#82139, Wayne Schuller)

        * glib/gspawn.c (close_and_invalidate): Don't close
        fd's that have already been closed. (Fix from Michael
        Meeks, #81959)

        * glib/giochannel.c (g_io_channel_close): If not flushing,
        dump the contents of the write buffers, so we won't try
        to write them to an invalid fd later. (Patch from Ron Steinke,
        fixing #78290, Andreas Persenius.)
2002-05-20 19:36:58 +00:00
Owen Taylor
eccf6b573b Close the file descriptor. (#75507, Matthias Clasen)
Wed Mar 20 11:17:32 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gfileutils.c (get_contents_regfile): Close the
        file descriptor. (#75507, Matthias Clasen)
2002-03-20 16:21:58 +00:00
Owen Taylor
cef5d28c89 Final updates for 2.0.0
Fri Mar  8 10:20:46 2002  Owen Taylor  <otaylor@redhat.com>

        * NEWS: Final updates for 2.0.0

        * glib/gstrfuncs.c: Convert the results of strerror()
        and strsignal() to UTF-8.

        * glib/gconvert.c glib/gdir.c glib/giochannel.c glib/giounix.c
        glib/giowin32.c: Use g_strerror(), not strerror().
2002-03-08 15:50:54 +00:00
Hans Breuer
96dece61ef no sym links on win32, no lstat in msvcrt
2002-02-10  Hans Breuer  <hans@breuer.org>

	* glib/gfileutils.c : no sym links on win32, no lstat in msvcrt

	* tests/makefile.msc.in : added uri-test
2002-02-10 16:42:36 +00:00
Sebastian Wilhelmi
8db64a1a96 Extended documentation.
2002-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gfileutils.c (g_file_test): Extended documentation.
2002-02-08 08:25:49 +00:00
Sebastian Wilhelmi
eb18855127 Do not follow symbolic links for G_FILE_TEST_SYMLINK. Also fixed the
2002-02-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gfileutils.c (g_file_test): Do not follow symbolic links
	for G_FILE_TEST_SYMLINK. Also fixed the correct "OR"-behaviour for
	G_FILE_TEST_IS_EXECUTABLE and G_FILE_TEST_EXISTS. (#60048)
2002-02-07 20:14:00 +00:00