| gstdio.h | gstdio.h | |||
|---|---|---|---|---|
| skipping to change at line 30 | skipping to change at line 30 | |||
| #ifndef __G_STDIO_H__ | #ifndef __G_STDIO_H__ | |||
| #define __G_STDIO_H__ | #define __G_STDIO_H__ | |||
| #include <glib/gprintf.h> | #include <glib/gprintf.h> | |||
| #include <sys/stat.h> | #include <sys/stat.h> | |||
| G_BEGIN_DECLS | G_BEGIN_DECLS | |||
| #if defined (_MSC_VER) && !defined(_WIN64) | ||||
| /* Make it clear that we mean the struct with 32-bit st_size and | ||||
| * 32-bit st_*time fields as that is how the 32-bit GLib DLL normally | ||||
| * has been compiled. If you get a compiler warning when calling | ||||
| * g_stat(), do take it seriously and make sure that the type of | ||||
| * struct stat the code in GLib fills in matches the struct the type | ||||
| * of struct stat you pass to g_stat(). To avoid hassle, to get file | ||||
| * attributes just use the GIO API instead which doesn't use struct | ||||
| * stat. | ||||
| * | ||||
| * Sure, it would be nicer to use a struct with 64-bit st_size and | ||||
| * 64-bit st_*time fields, but changing that now would break ABI. And | ||||
| * in MinGW, a plain "struct stat" is the one with 32-bit st_size and | ||||
| * st_*time fields. | ||||
| */ | ||||
| typedef struct _stat32 GStatBuf; | ||||
| #else | ||||
| typedef struct stat GStatBuf; | ||||
| #endif | ||||
| #if defined(G_OS_UNIX) && !defined(G_STDIO_NO_WRAP_ON_UNIX) | #if defined(G_OS_UNIX) && !defined(G_STDIO_NO_WRAP_ON_UNIX) | |||
| /* Just pass on to the system functions, so there's no potential for data | /* Just pass on to the system functions, so there's no potential for data | |||
| * format mismatches, especially with large file interfaces. | * format mismatches, especially with large file interfaces. | |||
| * A few functions can't be handled in this way, since they are not defined | * A few functions can't be handled in this way, since they are not defined | |||
| * in a portable system header that we could include here. | * in a portable system header that we could include here. | |||
| */ | */ | |||
| #define g_chmod chmod | #define g_chmod chmod | |||
| #define g_open open | #define g_open open | |||
| skipping to change at line 92 | skipping to change at line 117 | |||
| int mode); | int mode); | |||
| int g_rename (const gchar *oldfilename, | int g_rename (const gchar *oldfilename, | |||
| const gchar *newfilename); | const gchar *newfilename); | |||
| int g_mkdir (const gchar *filename, | int g_mkdir (const gchar *filename, | |||
| int mode); | int mode); | |||
| int g_chdir (const gchar *path); | int g_chdir (const gchar *path); | |||
| #ifdef G_OS_WIN32 | ||||
| /* The _g_stat_struct struct tag is an internal implementation detail | ||||
| * and not part of the public GLib API. | ||||
| */ | ||||
| #if defined (_MSC_VER) && !defined(_WIN64) | ||||
| /* Make it clear that we mean the struct with 32-bit st_size and | ||||
| * 32-bit st_*time fields as that is how the 32-bit GLib DLL normally | ||||
| * has been compiled. If you get a compiler warning when calling | ||||
| * g_stat(), do take it seriously and make sure that the type of | ||||
| * struct stat the code in GLib fills in matches the struct the type | ||||
| * of struct stat you pass to g_stat(). To avoid hassle, just use the | ||||
| * GIO API instead which doesn't use struct stat to get file | ||||
| * attributes, . | ||||
| */ | ||||
| #define _g_stat_struct _stat32 | ||||
| #else | ||||
| #define _g_stat_struct stat | ||||
| #endif | ||||
| int g_stat (const gchar *filename, | ||||
| struct _g_stat_struct *buf); | ||||
| int g_lstat (const gchar *filename, | ||||
| struct _g_stat_struct *buf); | ||||
| #else | ||||
| /* No _g_stat_struct used on Unix */ | ||||
| int g_stat (const gchar *filename, | int g_stat (const gchar *filename, | |||
| struct stat *buf); | GStatBuf *buf); | |||
| int g_lstat (const gchar *filename, | int g_lstat (const gchar *filename, | |||
| struct stat *buf); | GStatBuf *buf); | |||
| #endif | ||||
| int g_unlink (const gchar *filename); | int g_unlink (const gchar *filename); | |||
| int g_remove (const gchar *filename); | int g_remove (const gchar *filename); | |||
| int g_rmdir (const gchar *filename); | int g_rmdir (const gchar *filename); | |||
| FILE *g_fopen (const gchar *filename, | FILE *g_fopen (const gchar *filename, | |||
| const gchar *mode); | const gchar *mode); | |||
| End of changes. 4 change blocks. | ||||
| 39 lines changed or deleted | 27 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||