version 1.14, 2006/05/25 03:20:32 |
version 1.15, 2007/02/26 08:32:00 |
|
|
eparse(const char *cmd, const char *left, const char *right) |
eparse(const char *cmd, const char *left, const char *right) |
{ |
{ |
FILE *file; |
FILE *file; |
size_t nread, nwritten; |
size_t nread; |
int fd; |
int fd; |
char *filename; |
char *filename; |
char buf[BUFSIZ], *text; |
char buf[BUFSIZ], *text; |
|
|
err(2, "mkstemp"); |
err(2, "mkstemp"); |
if (text != NULL) { |
if (text != NULL) { |
size_t len; |
size_t len; |
|
ssize_t nwritten; |
|
|
len = strlen(text); |
len = strlen(text); |
if ((nwritten = write(fd, text, len)) == -1 || |
if ((nwritten = write(fd, text, len)) == -1 || |
|
|
|
|
/* Copy temporary file contents to output file. */ |
/* Copy temporary file contents to output file. */ |
for (nread = sizeof(buf); nread == sizeof(buf);) { |
for (nread = sizeof(buf); nread == sizeof(buf);) { |
|
size_t nwritten; |
|
|
nread = fread(buf, sizeof(*buf), sizeof(buf), file); |
nread = fread(buf, sizeof(*buf), sizeof(buf), file); |
/* Test for error or end of file. */ |
/* Test for error or end of file. */ |
if (nread != sizeof(buf) && |
if (nread != sizeof(buf) && |