int G_open_update (char *element,char *name) { int fd; fd = G__open (element, name, G_mapset(), 2); if (fd >= 0) lseek (fd, 0L, 2); return fd; }
/*! \brief Open a database file for reading The database file <i>name</i> under the <i>element</i> in the specified <i>mapset</i> is opened for reading (but not for writing). The UNIX fopen() routine, with "r" read mode, is used to open the file. If the file does not exist, the NULL pointer is returned. Otherwise the file descriptor from the fopen() is returned. \param element database element name \param name map file name \param mapset mapset name containing map <i>name</i> \return open file descriptor (FILE *) \return NULL could not open */ FILE *G_fopen_old(const char *element, const char *name, const char *mapset) { int fd; fd = G__open(element, name, mapset, 0); if (fd < 0) return (FILE *) NULL; return fdopen(fd, "r"); }
FILE *G_fopen_new(const char *element, const char *name) { int fd; fd = G__open(element, name, G_mapset(), 1); if (fd < 0) return (FILE *) 0; return fdopen(fd, "w"); }
/*! \brief Open a database file for update (r+ mode) The database file <i>name</i> under the <i>element</i> in the current mapset is opened for for writing. The UNIX fopen() routine, with "r+" append mode, is used to open the file. If the file does not exist, the NULL pointer is returned. Otherwise the file descriptor from the fopen() is returned. \param element database element name \param name map file name \return open file descriptor (FILE *) \return NULL */ FILE *G_fopen_modify(const char *element, const char *name) { int fd; fd = G__open(element, name, G_mapset(), 2); if (fd < 0) return (FILE *) 0; lseek(fd, 0L, SEEK_END); return fdopen(fd, "r+"); }
FILE *G_fopen_new (char *element,char *name) { int fd; fd = G__open (element, name, G_mapset(), 1); if (fd < 0) return (FILE *) 0; #if defined R_GRASS_INTERFACE && defined __MINGW32_VERSION return fdopen (fd, "wb"); #else /* __MINGW32_VERSION && R_GRASS_INTERFACE */ return fdopen (fd, "w"); #endif /* __MINGW32_VERSION && R_GRASS_INTERFACE */ }
FILE *G_fopen_modify (char *element,char *name) { int fd; fd = G__open (element, name, G_mapset(), 2); if (fd < 0) return (FILE *) 0; lseek (fd, 0L, 0); #if defined R_GRASS_INTERFACE && defined __MINGW32_VERSION return fdopen (fd, "rb+"); #else /* __MINGW32_VERSION && R_GRASS_INTERFACE */ return fdopen (fd, "r+"); #endif /* __MINGW32_VERSION && R_GRASS_INTERFACE */ }
FILE * G_fopen_old (char *element,char *name,char *mapset) { int fd; fd = G__open (element, name, mapset, 0); if (fd < 0) return (FILE *) 0; #if defined R_GRASS_INTERFACE && defined __MINGW32_VERSION return fdopen (fd, "rb"); #else /* __MINGW32_VERSION && R_GRASS_INTERFACE */ return fdopen (fd, "r"); #endif /* __MINGW32_VERSION && R_GRASS_INTERFACE */ }
/*! \brief Open a database file for reading The database file <i>name</i> under the <i>element</i> in the specified <i>mapset</i> is opened for reading (but not for writing). The UNIX open() routine is used to open the file. If the file does not exist, -1 is returned. Otherwise the file descriptor from the open() is returned. \param element database element name \param name map file name \param mapset mapset containing map <i>name</i> \return open file descriptor (int) \return -1 could not open */ int G_open_old(const char *element, const char *name, const char *mapset) { return G__open(element, name, mapset, 0); }
int G_open_new(const char *element, const char *name) { return G__open(element, name, G_mapset(), 1); }