X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgfileutils.c;h=0db07c541e973d470c9ef03f9c1771fe5b2e6aca;hb=904ec5534cdc45d9b90e86a467e97af3b1bdd66d;hp=a18c69892b44e935d5c09a8fada642b1793ac49a;hpb=bc6ee788b4ff6590513da6ab657448885e92b20b;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gfileutils.c b/glib/gfileutils.c index a18c698..0db07c5 100644 --- a/glib/gfileutils.c +++ b/glib/gfileutils.c @@ -311,7 +311,7 @@ g_mkdir_with_parents (const gchar *pathname, * its name indicates that it is executable, checking for well-known * extensions and those listed in the `PATHEXT` environment variable. * - * Return value: whether a test was %TRUE + * Returns: whether a test was %TRUE **/ gboolean g_file_test (const gchar *filename, @@ -473,7 +473,7 @@ G_DEFINE_QUARK (g-file-error-quark, g_file_error) * from a function that manipulates files. So you would use * g_file_error_from_errno() when constructing a #GError. * - * Return value: #GFileError corresponding to the given @errno + * Returns: #GFileError corresponding to the given @errno **/ GFileError g_file_error_from_errno (gint err_no) @@ -607,16 +607,17 @@ g_file_error_from_errno (gint err_no) static char * format_error_message (const gchar *filename, - const gchar *format_string) G_GNUC_FORMAT(2); + const gchar *format_string, + int saved_errno) G_GNUC_FORMAT(2); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wformat-nonliteral" static char * format_error_message (const gchar *filename, - const gchar *format_string) + const gchar *format_string, + int saved_errno) { - gint saved_errno = errno; gchar *display_name; gchar *msg; @@ -637,10 +638,10 @@ format_error_message (const gchar *filename, static void set_file_error (GError **error, const gchar *filename, - const gchar *format_string) + const gchar *format_string, + int saved_errno) { - int saved_errno = errno; - char *msg = format_error_message (filename, format_string); + char *msg = format_error_message (filename, format_string, saved_errno); g_set_error_literal (error, G_FILE_ERROR, g_file_error_from_errno (saved_errno), msg); @@ -858,9 +859,11 @@ get_contents_posix (const gchar *filename, if (fd < 0) { + int saved_errno = errno; set_file_error (error, filename, - _("Failed to open file '%s': %s")); + _("Failed to open file '%s': %s"), + saved_errno); return FALSE; } @@ -868,9 +871,11 @@ get_contents_posix (const gchar *filename, /* I don't think this will ever fail, aside from ENOMEM, but. */ if (fstat (fd, &stat_buf) < 0) { + int saved_errno = errno; set_file_error (error, filename, - _("Failed to get attributes of file '%s': fstat() failed: %s")); + _("Failed to get attributes of file '%s': fstat() failed: %s"), + saved_errno); close (fd); return FALSE; @@ -896,9 +901,11 @@ get_contents_posix (const gchar *filename, if (f == NULL) { + int saved_errno = errno; set_file_error (error, filename, - _("Failed to open file '%s': fdopen() failed: %s")); + _("Failed to open file '%s': fdopen() failed: %s"), + saved_errno); return FALSE; } @@ -924,9 +931,11 @@ get_contents_win32 (const gchar *filename, if (f == NULL) { + int saved_errno = errno; set_file_error (error, filename, - _("Failed to open file '%s': %s")); + _("Failed to open file '%s': %s"), + saved_errno); return FALSE; } @@ -957,7 +966,7 @@ get_contents_win32 (const gchar *filename, * codes are those in the #GFileError enumeration. In the error case, * @contents is set to %NULL and @length is set to zero. * - * Return value: %TRUE on success, %FALSE if an error occurred + * Returns: %TRUE on success, %FALSE if an error occurred **/ gboolean g_file_get_contents (const gchar *filename, @@ -1027,7 +1036,10 @@ write_to_temp_file (const gchar *contents, if (fd == -1) { - set_file_error (err, tmp_name, _("Failed to create file '%s': %s")); + int saved_errno = errno; + set_file_error (err, + tmp_name, _("Failed to create file '%s': %s"), + saved_errno); goto out; } @@ -1048,10 +1060,13 @@ write_to_temp_file (const gchar *contents, if (s < 0) { - if (errno == EINTR) + int saved_errno = errno; + if (saved_errno == EINTR) continue; - set_file_error (err, tmp_name, _("Failed to write file '%s': write() failed: %s")); + set_file_error (err, + tmp_name, _("Failed to write file '%s': write() failed: %s"), + saved_errno); close (fd); g_unlink (tmp_name); @@ -1091,7 +1106,10 @@ write_to_temp_file (const gchar *contents, */ if (g_lstat (dest_file, &statbuf) == 0 && statbuf.st_size > 0 && fsync (fd) != 0) { - set_file_error (err, tmp_name, _("Failed to write file '%s': fsync() failed: %s")); + int saved_errno = errno; + set_file_error (err, + tmp_name, _("Failed to write file '%s': fsync() failed: %s"), + saved_errno); close (fd); g_unlink (tmp_name); @@ -1154,7 +1172,7 @@ write_to_temp_file (const gchar *contents, * Note that the name for the temporary file is constructed by appending up * to 7 characters to @filename. * - * Return value: %TRUE on success, %FALSE if an error occurred + * Returns: %TRUE on success, %FALSE if an error occurred * * Since: 2.8 */ @@ -1211,9 +1229,11 @@ g_file_set_contents (const gchar *filename, if (g_unlink (filename) == -1) { + int saved_errno = errno; set_file_error (error, filename, - _("Existing file '%s' could not be removed: g_unlink() failed: %s")); + _("Existing file '%s' could not be removed: g_unlink() failed: %s"), + saved_errno); g_unlink (tmp_filename); retval = FALSE; goto out; @@ -1345,7 +1365,7 @@ wrap_g_open (const gchar *filename, * in the GLib file name encoding. Most importantly, on Windows it * should be in UTF-8. * - * Return value: A pointer to @tmpl, which has been modified + * Returns: A pointer to @tmpl, which has been modified * to hold the directory name. In case of errors, %NULL is * returned, and %errno will be set. * @@ -1377,7 +1397,7 @@ g_mkdtemp_full (gchar *tmpl, * The string should be in the GLib file name encoding. Most importantly, * on Windows it should be in UTF-8. * - * Return value: A pointer to @tmpl, which has been modified + * Returns: A pointer to @tmpl, which has been modified * to hold the directory name. In case of errors, %NULL is * returned and %errno will be set. * @@ -1408,7 +1428,7 @@ g_mkdtemp (gchar *tmpl) * The string should be in the GLib file name encoding. Most importantly, * on Windows it should be in UTF-8. * - * Return value: A file handle (as from open()) to the file + * Returns: A file handle (as from open()) to the file * opened for reading and writing. The file handle should be * closed with close(). In case of errors, -1 is returned * and %errno will be set. @@ -1440,7 +1460,7 @@ g_mkstemp_full (gchar *tmpl, * didn't exist. The string should be in the GLib file name encoding. * Most importantly, on Windows it should be in UTF-8. * - * Return value: A file handle (as from open()) to the file + * Returns: A file handle (as from open()) to the file * opened for reading and writing. The file is opened in binary * mode on platforms where there is a difference. The file handle * should be closed with close(). In case of errors, -1 is @@ -1514,9 +1534,11 @@ g_get_tmp_name (const gchar *tmpl, retval = get_tmp_file (fulltemplate, f, flags, mode); if (retval == -1) { + int saved_errno = errno; set_file_error (error, fulltemplate, - _("Failed to create file '%s': %s")); + _("Failed to create file '%s': %s"), + saved_errno); g_free (fulltemplate); return -1; } @@ -1551,7 +1573,7 @@ g_get_tmp_name (const gchar *tmpl, * when not needed any longer. The returned name is in the GLib file * name encoding. * - * Return value: A file handle (as from open()) to the file opened for + * Returns: A file handle (as from open()) to the file opened for * reading and writing. The file is opened in binary mode on platforms * where there is a difference. The file handle should be closed with * close(). In case of errors, -1 is returned and @error will be set. @@ -1598,7 +1620,7 @@ g_file_open_tmp (const gchar *tmpl, * Note that in contrast to g_mkdtemp() (and mkdtemp()) @tmpl is not * modified, and might thus be a read-only literal string. * - * Return value: (type filename): The actual name used. This string + * Returns: (type filename): The actual name used. This string * should be freed with g_free() when not needed any longer and is * is in the GLib file name encoding. In case of errors, %NULL is * returned and @error will be set. @@ -1729,7 +1751,7 @@ g_build_path_va (const gchar *separator, * as a string array, instead of varargs. This function is mainly * meant for language bindings. * - * Return value: a newly-allocated string that must be freed with g_free(). + * Returns: a newly-allocated string that must be freed with g_free(). * * Since: 2.8 */ @@ -1777,7 +1799,7 @@ g_build_pathv (const gchar *separator, * copies of the separator, elements consisting only of copies * of the separator are ignored. * - * Return value: a newly-allocated string that must be freed with g_free(). + * Returns: a newly-allocated string that must be freed with g_free(). **/ gchar * g_build_path (const gchar *separator, @@ -1920,7 +1942,7 @@ g_build_pathname_va (const gchar *first_element, * as a string array, instead of varargs. This function is mainly * meant for language bindings. * - * Return value: a newly-allocated string that must be freed with g_free(). + * Returns: a newly-allocated string that must be freed with g_free(). * * Since: 2.8 */ @@ -1959,7 +1981,7 @@ g_build_filenamev (gchar **args) * path. If the first element is a relative path, the result will * be a relative path. * - * Return value: a newly-allocated string that must be freed with g_free(). + * Returns: a newly-allocated string that must be freed with g_free(). **/ gchar * g_build_filename (const gchar *first_element, @@ -2010,10 +2032,12 @@ g_file_read_link (const gchar *filename, read_size = readlink (filename, buffer, size); if (read_size < 0) { + int saved_errno = errno; set_file_error (error, filename, - _("Failed to read the symbolic link '%s': %s")); - + _("Failed to read the symbolic link '%s': %s"), + saved_errno); + g_free (buffer); return NULL; } @@ -2163,7 +2187,7 @@ g_path_skip_root (const gchar *file_name) * components. It returns a pointer into the given file name * string. * - * Return value: the name of the file without any leading + * Returns: the name of the file without any leading * directory components * * Deprecated:2.2: Use g_path_get_basename() instead, but notice @@ -2211,7 +2235,7 @@ g_basename (const gchar *file_name) * separators (and on Windows, possibly a drive letter), a single * separator is returned. If @file_name is empty, it gets ".". * - * Return value: a newly allocated string containing the last + * Returns: a newly allocated string containing the last * component of the filename */ gchar *