On Tue, Feb 4, 2014 at 11:14 AM, Glynn Clements <gl...@gclements.plus.com> wrote: > Markus Neteler wrote: >> For testing, I am not sure how to change >> lib/iostream/ami_stream.cpp >> in order to use the new function(s). Suggestions? > > fd = G_mkstemp(tmp_path, O_RDWR, 0600);
I have attached a patch for this, just to know if I got it right. IMHO the change needs to be submitted to get it into the overnight winGRASS binaries. Markus
Index: include/defs/gis.h =================================================================== --- include/defs/gis.h (revision 58875) +++ include/defs/gis.h (working copy) @@ -623,6 +623,11 @@ char *G__tempfile(int); void G__temp_element(char *); +/* mkstemp.c */ +char *G_mktemp(char *); +int G_mkstemp(char *, int, int); +FILE *G_mkstemp_fp(char *, int, int); + /* timestamp.c */ void G_init_timestamp(struct TimeStamp *); void G_set_timestamp(struct TimeStamp *, const struct DateTime *); Index: lib/iostream/Makefile =================================================================== --- lib/iostream/Makefile (revision 58875) +++ lib/iostream/Makefile (working copy) @@ -2,6 +2,9 @@ LIB = IOSTREAM +LIBES = $(GISLIB) +DEPENDENCIES = $(GISDEP) + include $(MODULE_TOPDIR)/include/Make/Lib.make Index: lib/iostream/ami_stream.cpp =================================================================== --- lib/iostream/ami_stream.cpp (revision 58875) +++ lib/iostream/ami_stream.cpp (working copy) @@ -43,6 +43,10 @@ #include <errno.h> #include <unistd.h> +extern "C" { +#include <grass/gis.h> +} + //#include <ami_stream.h> #include <grass/iostream/ami_stream.h> @@ -81,19 +85,11 @@ } sprintf(tmp_path, "%s/%s_XXXXXX", base_dir, base.c_str()); -#ifdef __MINGW32__ - fd = mktemp(tmp_path) ? open(tmp_path, O_CREAT|O_EXCL|O_RDWR, 0600) : -1; -#else - fd = mkstemp(tmp_path); -#endif + fd = G_mkstemp(tmp_path, O_RDWR, 0600); if (fd == -1) { cerr << "ami_single_temp_name: "; -#ifdef __MINGW32__ - perror("mktemp failed: "); -#else - perror("mkstemp failed: "); -#endif + perror("G_mkstemp() failed: "); assert(0); exit(1); }
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev