+2005-07-01 [colin] 1.9.12cvs8
+
+ * src/compose.c
+ * src/msgcache.c
+ * src/pop.c
+ * src/procmime.c
+ * src/recv.c
+ * src/common/log.c
+ * src/common/template.c
+ * src/common/utils.c
+ * src/common/utils.h
+ Reverted the fwrite_atomic stuff. In fact
+ it is already atomic.
+
2005-06-30 [colin] 1.9.12cvs7
* src/common/utils.c
( cvs diff -u -r 1.395.2.88 -r 1.395.2.89 src/summaryview.c; ) > 1.9.12cvs5.patchset
( cvs diff -u -r 1.60.2.16 -r 1.60.2.17 src/addressbook.c; ) > 1.9.12cvs6.patchset
( cvs diff -u -r 1.382.2.137 -r 1.382.2.138 src/compose.c; cvs diff -u -r 1.16.2.19 -r 1.16.2.20 src/msgcache.c; cvs diff -u -r 1.56.2.34 -r 1.56.2.35 src/pop.c; cvs diff -u -r 1.49.2.49 -r 1.49.2.50 src/procmime.c; cvs diff -u -r 1.17.2.2 -r 1.17.2.3 src/recv.c; cvs diff -u -r 1.6.2.1 -r 1.6.2.2 src/common/log.c; cvs diff -u -r 1.2.4.8 -r 1.2.4.9 src/common/template.c; cvs diff -u -r 1.36.2.33 -r 1.36.2.34 src/common/utils.c; cvs diff -u -r 1.20.2.16 -r 1.20.2.17 src/common/utils.h; ) > 1.9.12cvs7.patchset
+( cvs diff -u -r 1.382.2.138 -r 1.382.2.139 src/compose.c; cvs diff -u -r 1.16.2.20 -r 1.16.2.21 src/msgcache.c; cvs diff -u -r 1.56.2.35 -r 1.56.2.36 src/pop.c; cvs diff -u -r 1.49.2.50 -r 1.49.2.51 src/procmime.c; cvs diff -u -r 1.17.2.3 -r 1.17.2.4 src/recv.c; cvs diff -u -r 1.6.2.2 -r 1.6.2.3 src/common/log.c; cvs diff -u -r 1.2.4.9 -r 1.2.4.10 src/common/template.c; cvs diff -u -r 1.36.2.34 -r 1.36.2.35 src/common/utils.c; cvs diff -u -r 1.20.2.17 -r 1.20.2.18 src/common/utils.h; ) > 1.9.12cvs8.patchset
MICRO_VERSION=12
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=7
+EXTRA_VERSION=8
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
g_timeout_add(0, invoke_hook_cb, logtext);
if (log_fp) {
- fwrite_atomic(buf, 1, LOG_TIME_LEN, log_fp);
+ fwrite(buf, 1, LOG_TIME_LEN, log_fp);
fputs("* message: ", log_fp);
fputs(buf + LOG_TIME_LEN, log_fp);
fflush(log_fp);
g_timeout_add(0, invoke_hook_cb, logtext);
if (log_fp) {
- fwrite_atomic(buf, 1, LOG_TIME_LEN, log_fp);
+ fwrite(buf, 1, LOG_TIME_LEN, log_fp);
fputs("** warning: ", log_fp);
fputs(buf + LOG_TIME_LEN, log_fp);
fflush(log_fp);
g_timeout_add(0, invoke_hook_cb, logtext);
if (log_fp) {
- fwrite_atomic(buf, 1, LOG_TIME_LEN, log_fp);
+ fwrite(buf, 1, LOG_TIME_LEN, log_fp);
fputs("*** error: ", log_fp);
fputs(buf + LOG_TIME_LEN, log_fp);
fflush(log_fp);
fprintf(fp, "Bcc: %s\n", tmpl->bcc);
fputs("\n", fp);
if (tmpl->value && *tmpl->value != '\0')
- fwrite_atomic(tmpl->value, sizeof(gchar), strlen(tmpl->value), fp);
+ fwrite(tmpl->value, sizeof(gchar), strlen(tmpl->value), fp);
else
- fwrite_atomic("", sizeof(gchar), 1, fp);
+ fwrite("", sizeof(gchar), 1, fp);
fclose(fp);
g_free(filename);
while ((n_read = fread(buf, sizeof(gchar), sizeof(buf), src_fp)) > 0) {
if (n_read < sizeof(buf) && ferror(src_fp))
break;
- if (fwrite_atomic(buf, 1, n_read, dest_fp) < n_read) {
+ if (fwrite(buf, 1, n_read, dest_fp) < n_read) {
g_warning("writing to %s failed.\n", dest);
fclose(dest_fp);
fclose(src_fp);
while ((n_read = fread(buf, sizeof(gchar), sizeof(buf), src_fp)) > 0) {
if (n_read < sizeof(buf) && ferror(src_fp))
break;
- if (fwrite_atomic(buf, 1, n_read, dest_fp) < n_read) {
+ if (fwrite(buf, 1, n_read, dest_fp) < n_read) {
g_warning("writing to %s failed.\n", dest);
fclose(dest_fp);
fclose(src_fp);
while ((n_read = fread(buf, sizeof(gchar), to_read, fp)) > 0) {
if (n_read < to_read && ferror(fp))
break;
- if (fwrite_atomic(buf, 1, n_read, dest_fp) < n_read) {
+ if (fwrite(buf, 1, n_read, dest_fp) < n_read) {
return -1;
}
bytes_left -= n_read;
r = fputs(buf, dest_fp);
} else {
if (len > 1) {
- r = fwrite_atomic(buf, 1, len - 1, dest_fp);
+ r = fwrite(buf, 1, len - 1, dest_fp);
if (r != (len -1))
r = EOF;
}
len = strlen(str);
if (len == 0) return fp;
- if (fwrite_atomic(str, 1, len, fp) != len) {
+ if (fwrite(str, 1, len, fp) != len) {
FILE_OP_ERROR("str_open_as_stream", "fwrite");
fclose(fp);
return NULL;
return 0;
}
- if (fwrite_atomic(str, 1, len, fp) != len) {
+ if (fwrite(str, 1, len, fp) != len) {
FILE_OP_ERROR(file, "fwrite");
fclose(fp);
unlink(file);
*strstr(str, "\r") = ' ';
}
}
-
-size_t fwrite_atomic(const void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
- size_t done = 0;
- size_t todo = nmemb;
- const void *curp = ptr;
-
- while (todo > 0) {
- size_t cnt = fwrite(curp, size, todo, stream);
- if (cnt == EOF)
- return EOF;
- done += cnt;
- curp += cnt;
- todo -= cnt;
- }
- return done;
-}
gchar *file_read_to_str (const gchar *file);
gchar *file_read_stream_to_str (FILE *fp);
-size_t fwrite_atomic(const void *ptr, size_t size, size_t nmemb, FILE *stream);
-
/* process execution */
gint execute_async (gchar *const argv[]);
gint execute_sync (gchar *const argv[]);
compose_redirect_write_headers(compose, fdest);
while ((len = fread(buf, sizeof(gchar), sizeof(buf), fp)) > 0) {
- if (fwrite_atomic(buf, sizeof(gchar), len, fdest) != len)
+ if (fwrite(buf, sizeof(gchar), len, fdest) != len)
goto error;
}
/* write body */
len = strlen(chars);
- if (fwrite_atomic(chars, sizeof(gchar), len, fp) != len) {
+ if (fwrite(chars, sizeof(gchar), len, fp) != len) {
FILE_OP_ERROR(file, "fwrite");
g_free(chars);
fclose(fp);
guint32 idata; \
\
idata = (guint32)n; \
- fwrite_atomic(&idata, sizeof(idata), 1, fp); \
+ fwrite(&idata, sizeof(idata), 1, fp); \
}
#define WRITE_CACHE_DATA(data, fp) \
len = strlen(data); \
WRITE_CACHE_DATA_INT(len, fp); \
if (len > 0) { \
- fwrite_atomic(data, len, 1, fp); \
+ fwrite(data, len, 1, fp); \
} \
}
prev = data;
while ((cur = (gchar *)my_memmem(prev, len - (prev - data), "\r\n", 2))
!= NULL) {
- if ((cur > prev && fwrite_atomic(prev, 1, cur - prev, fp) < 1) ||
+ if ((cur > prev && fwrite(prev, 1, cur - prev, fp) < 1) ||
fputc('\n', fp) == EOF) {
FILE_OP_ERROR(file, "fwrite");
g_warning("can't write to file: %s\n", file);
}
if (prev - data < len &&
- fwrite_atomic(prev, 1, len - (prev - data), fp) < 1) {
+ fwrite(prev, 1, len - (prev - data), fp) < 1) {
FILE_OP_ERROR(file, "fwrite");
g_warning("can't write to file: %s\n", file);
fclose(fp);
while ((ftell(infp) < readend) && (fgets(buf, sizeof(buf), infp) != NULL)) {
gint len;
len = qp_decode_line(buf);
- fwrite_atomic(buf, 1, len, outfp);
+ fwrite(buf, 1, len, outfp);
}
} else if (encoding == ENC_BASE64) {
gchar outbuf[BUFFSIZE];
len = base64_decoder_decode(decoder, buf, outbuf);
if (len < 0 && !got_error) {
g_warning("Bad BASE64 content.\n");
- fwrite_atomic(_("[Error decoding BASE64]\n"),
+ fwrite(_("[Error decoding BASE64]\n"),
sizeof(gchar),
strlen(_("[Error decoding BASE64]\n")),
tmpfp);
} else if (len >= 0) {
/* print out the error message only once
* per block */
- fwrite_atomic(outbuf, sizeof(gchar), len, tmpfp);
+ fwrite(outbuf, sizeof(gchar), len, tmpfp);
got_error = FALSE;
}
}
g_warning("Bad UUENCODE content(%d)\n", len);
break;
}
- fwrite_atomic(outbuf, sizeof(gchar), len, outfp);
+ fwrite(outbuf, sizeof(gchar), len, outfp);
} else
flag = TRUE;
}
restlength = mimeinfo->length;
while ((restlength > 0) && ((readlength = fread(buf, 1, restlength > BUFFSIZE ? BUFFSIZE : restlength, infp)) > 0)) {
- fwrite_atomic(buf, 1, readlength, outfp);
+ fwrite(buf, 1, readlength, outfp);
restlength -= readlength;
}
while ((count =
fread(buf, sizeof(char), sizeof(buf),
tmpfp)) > 0)
- fwrite_atomic(buf, sizeof(char), count, p);
+ fwrite(buf, sizeof(char), count, p);
pclose(p);
}
skip = TRUE;
continue;
}
- fwrite_atomic(buf, sizeof(gchar), strlen(buf), fp);
+ fwrite(buf, sizeof(gchar), strlen(buf), fp);
skip = FALSE;
}
fclose(infp);
break;
case MIMECONTENT_MEM:
- fwrite_atomic(mimeinfo->data.mem,
+ fwrite(mimeinfo->data.mem,
sizeof(gchar),
strlen(mimeinfo->data.mem),
fp);
while (fgets(buf, sizeof(buf), infp) == buf) {
if (IS_BOUNDARY(buf, boundary, strlen(boundary)))
break;
- fwrite_atomic(buf, sizeof(gchar), strlen(buf), fp);
+ fwrite(buf, sizeof(gchar), strlen(buf), fp);
}
fclose(infp);
break;
if (((str2 = strstr(str, boundary)) != NULL) && ((str2 - str) >= 2) &&
(*(str2 - 1) == '-') && (*(str2 - 2) == '-'))
*(str2 - 2) = '\0';
- fwrite_atomic(str, sizeof(gchar), strlen(str), fp);
+ fwrite(str, sizeof(gchar), strlen(str), fp);
g_free(str);
break;
return 0;
case MIMECONTENT_MEM:
- fwrite_atomic(mimeinfo->data.mem,
+ fwrite(mimeinfo->data.mem,
sizeof(gchar),
strlen(mimeinfo->data.mem),
fp);
while ((cur = memchr(prev, '\r', size - (prev - buf))) != NULL) {
if (cur == buf + size - 1) break;
- if (fwrite_atomic(prev, sizeof(gchar), cur - prev, fp) == EOF ||
- fwrite_atomic("\n", sizeof(gchar), 1, fp) == EOF) {
+ if (fwrite(prev, sizeof(gchar), cur - prev, fp) == EOF ||
+ fwrite("\n", sizeof(gchar), 1, fp) == EOF) {
perror("fwrite");
g_warning("Can't write to file.\n");
g_free(buf);
if (prev - buf >= size) break;
}
- if (prev - buf < size && fwrite_atomic(buf, sizeof(gchar),
+ if (prev - buf < size && fwrite(buf, sizeof(gchar),
size - (prev - buf), fp) == EOF) {
perror("fwrite");
g_warning("Can't write to file.\n");