[Getdata-commits] SF.net SVN: getdata:[852] trunk/getdata
Scientific Database Format
Brought to you by:
ketiltrout
|
From: <ket...@us...> - 2013-10-19 02:43:41
|
Revision: 852
http://sourceforge.net/p/getdata/code/852
Author: ketiltrout
Date: 2013-10-19 02:43:38 +0000 (Sat, 19 Oct 2013)
Log Message:
-----------
Seth's _GD_MakeTempFile patch.
Modified Paths:
--------------
trunk/getdata/ChangeLog
trunk/getdata/src/ascii.c
trunk/getdata/src/encoding.c
trunk/getdata/src/gzip.c
trunk/getdata/src/raw.c
trunk/getdata/src/sie.c
Modified: trunk/getdata/ChangeLog
===================================================================
--- trunk/getdata/ChangeLog 2013-10-19 01:34:07 UTC (rev 851)
+++ trunk/getdata/ChangeLog 2013-10-19 02:43:38 UTC (rev 852)
@@ -1,3 +1,13 @@
+2013-10-19 D. V. Wiebe <ge...@ke...> svn:852
+
+ _GD_MakeTempFile patch from Seth:
+
+ * src/encoding.c (_GD_InitRawIO): Let the encoding framework deal with
+ creating temporary files.
+ * src/ascii.c (_GD_AsciiOpen) src/gzip.c (_GD_GzipOpen) src/raw.c
+ (_GD_RawOpen) src/sie.c (_GD_SampIndDoOpen): Call _GD_MakeTempFile when
+ necessary.
+
2013-10-19 D. V. Wiebe <ge...@ke...> svn:850
Merge in getdata-distutils branch:
Modified: trunk/getdata/src/ascii.c
===================================================================
--- trunk/getdata/src/ascii.c 2013-10-19 01:34:07 UTC (rev 851)
+++ trunk/getdata/src/ascii.c 2013-10-19 02:43:38 UTC (rev 852)
@@ -37,13 +37,14 @@
file->idata = gd_OpenAt(file->D, fd, file->name, ((mode & GD_FILE_WRITE)
? (O_RDWR | O_CREAT) : O_RDONLY) | O_BINARY, 0666);
- if (file->idata < 0) {
- dreturn("%i", -1);
- return -1;
- }
} else
- file->idata = fd;
+ file->idata = _GD_MakeTempFile(file->D, fd, file->name);
+ if (file->idata < 0) {
+ dreturn("%i", -1);
+ return -1;
+ }
+
file->edata = fdopen(file->idata, (mode & GD_FILE_WRITE) ? "rb+" : "rb");
if (file->edata == NULL) {
Modified: trunk/getdata/src/encoding.c
===================================================================
--- trunk/getdata/src/encoding.c 2013-10-19 01:34:07 UTC (rev 851)
+++ trunk/getdata/src/encoding.c 2013-10-19 02:43:38 UTC (rev 852)
@@ -544,11 +544,7 @@
E->e->u.raw.file + 1, filebase, 1, 0))
{
; /* error already set */
- } else if ((temp_fd = _GD_MakeTempFile(D, D->fragment[fragment].dirfd,
- E->e->u.raw.file[1].name)) < 0)
- {
- _GD_SetError(D, GD_E_RAW_IO, 0, E->e->u.raw.file[1].name, errno, NULL);
- } else if ((*enc->open)(temp_fd, E->e->u.raw.file + 1, swap,
+ } else if ((*enc->open)(D->fragment[fragment].dirfd, E->e->u.raw.file + 1, swap,
GD_FILE_WRITE | GD_FILE_TEMP))
{
_GD_SetError(D, GD_E_RAW_IO, 0, E->e->u.raw.file[1].name, errno, NULL);
Modified: trunk/getdata/src/gzip.c
===================================================================
--- trunk/getdata/src/gzip.c 2013-10-19 01:34:07 UTC (rev 851)
+++ trunk/getdata/src/gzip.c 2013-10-19 02:43:38 UTC (rev 852)
@@ -51,6 +51,8 @@
return 1;
}
gzmode = "r";
+ } else if (mode & GD_FILE_TEMP) {
+ file->idata = _GD_MakeTempFile(file->D, fd, file->name);
} else
file->idata = fd;
Modified: trunk/getdata/src/raw.c
===================================================================
--- trunk/getdata/src/raw.c 2013-10-19 01:34:07 UTC (rev 851)
+++ trunk/getdata/src/raw.c 2013-10-19 02:43:38 UTC (rev 852)
@@ -34,9 +34,11 @@
file->idata = gd_OpenAt(file->D, fd, file->name, ((mode & GD_FILE_WRITE) ?
(O_RDWR | O_CREAT) : O_RDONLY) | O_BINARY, 0666);
- } else
- file->idata = fd;
+ } else {
+ file->idata = _GD_MakeTempFile(file->D, fd, file->name);
+ }
+
file->pos = 0;
file->mode = mode | GD_FILE_READ;
Modified: trunk/getdata/src/sie.c
===================================================================
--- trunk/getdata/src/sie.c 2013-10-19 01:34:07 UTC (rev 851)
+++ trunk/getdata/src/sie.c 2013-10-19 02:43:38 UTC (rev 852)
@@ -40,14 +40,14 @@
if (!(mode & GD_FILE_TEMP)) {
fd = gd_OpenAt(file->D, fdin, file->name, ((mode & GD_FILE_WRITE) ?
(O_RDWR | O_CREAT) : O_RDONLY) | O_BINARY, 0666);
+ } else {
+ fd = _GD_MakeTempFile(file->D, fdin, file->name);
+ }
- if (fd < 0) {
- dreturn("%i", -1);
- return -1;
- }
- } else
- fd = fdin;
-
+ if (fd < 0) {
+ dreturn("%i", -1);
+ return -1;
+ }
stream = fdopen(fd, (mode & GD_FILE_WRITE) ? "rb+" : "rb");
if (stream == NULL) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|