* below is to avoid creating a HEADER structure in message_handler().
*/
int
-mutt_copy_hdr (FILE * in, FILE * out, long off_start, long off_end, int flags,
- const char *prefix)
-{
+mutt_copy_hdr (FILE* in, FILE* out, LOFF_T off_start, LOFF_T off_end,
+ int flags, const char *prefix) {
int from = 0;
int this_is_from;
int ignore = 0;
int error;
int curline = 0;
- if (ftell (in) != off_start)
- fseek (in, off_start, 0);
+ if (ftello (in) != off_start)
+ fseeko (in, off_start, 0);
buf[0] = '\n';
buf[1] = 0;
/* Without these flags to complicate things
* we can do a more efficient line to line copying
*/
- while (ftell (in) < off_end) {
+ while (ftello (in) < off_end) {
nl = strchr (buf, '\n');
if ((fgets (buf, sizeof (buf), in)) == NULL)
headers = mem_calloc (hdr_count, sizeof (char *));
/* Read all the headers into the array */
- while (ftell (in) < off_end) {
+ while (ftello (in) < off_end) {
nl = strchr (buf, '\n');
/* Read a line */
strcat (this_one, " ...");
}
}
- } /* while (ftell (in) < off_end) */
+ } /* while (ftello (in) < off_end) */
/* Do we have anything pending? -- XXX, same code as in above in the loop. */
if (this_one) {
int ch;
if (b->deleted) {
- fseek (fp, b->offset, SEEK_SET);
+ fseeko (fp, b->offset, SEEK_SET);
for (l = b->length; l; l--) {
ch = getc (fp);
if (ch == EOF)
date[5] = date[str_len (date) - 1] = '\"';
/* Count the number of lines and bytes to be deleted */
- fseek (fpin, body->offset, SEEK_SET);
+ fseeko (fpin, body->offset, SEEK_SET);
new_lines = hdr->lines -
count_delete_lines (fpin, body, &new_length, str_len (date));
new_offset = ftello (fpout);
/* Copy the body */
- fseek (fpin, body->offset, SEEK_SET);
+ fseeko (fpin, body->offset, SEEK_SET);
if (copy_delete_attach (body, fpin, fpout, date))
return -1;
mutt_write_mime_header (cur, fpout);
fputc ('\n', fpout);
- fseek (fp, cur->offset, 0);
+ fseeko (fp, cur->offset, 0);
if (mutt_copy_bytes (fp, fpout, cur->length) == -1) {
fclose (fp);
mutt_free_body (&cur);
fclose (fp);
}
else {
- fseek (fpin, body->offset, 0);
+ fseeko (fpin, body->offset, 0);
if (flags & M_CM_PREFIX) {
int c;
size_t bytes = body->length;
MESSAGE *msg;
int r;
- fseek(fpin, hdr->offset, 0);
+ fseeko(fpin, hdr->offset, 0);
if (fgets (buf, sizeof (buf), fpin) == NULL)
return (-1);
if ((msg = mx_open_new_message (dest, hdr, is_from (buf, NULL, 0, NULL) ? 0 : M_ADD_FROM)) == NULL)
for (part = b->parts; part; part = part->next) {
if (part->deleted || part->parts) {
/* Copy till start of this part */
- if (mutt_copy_bytes (fpin, fpout, part->hdr_offset - ftell (fpin)))
+ if (mutt_copy_bytes (fpin, fpout, part->hdr_offset - ftello (fpin)))
return -1;
if (part->deleted) {
return -1;
/* Copy the original mime headers */
- if (mutt_copy_bytes (fpin, fpout, part->offset - ftell (fpin)))
+ if (mutt_copy_bytes (fpin, fpout, part->offset - ftello (fpin)))
return -1;
/* Skip the deleted body */
- fseek (fpin, part->offset + part->length, SEEK_SET);
+ fseeko (fpin, part->offset + part->length, SEEK_SET);
}
else {
if (copy_delete_attach (part, fpin, fpout, date))
}
/* Copy the last parts */
- if (mutt_copy_bytes (fpin, fpout, b->offset + b->length - ftell (fpin)))
+ if (mutt_copy_bytes (fpin, fpout, b->offset + b->length - ftello (fpin)))
return -1;
return 0;