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/ |