function check_operating_dir(), changes to load_file (arg),
open_file_dup_search (arg), new function do_gotopos for -F
(Ravid Lawrence Ramsey).
+ - Code to read/write dos formatted files. Massive amounts of
+ new code in read_line and write_file. New flag DOS_FILE.
- nano.c:
main()
- Added vars oldcurrent and oldcurrent_x to check whether cursor
fileptr->data = charalloc(strlen(buf) + 2);
strcpy(fileptr->data, buf);
+#ifndef NANO_SMALL
+ if (buf[strlen(buf) - 1] == '\r') {
+ SET(DOS_FILE);
+ fileptr->data[strlen(buf) - 1] = 0;
+ }
+#endif
+
if (*line1ins) {
/* Special case, insert with cursor on 1st line. */
fileptr->prev = NULL;
fprintf(stderr, _("Wrote >%s\n"), fileptr->data);
#endif
}
+#ifndef NANO_SMALL
+ if (ISSET(DOS_FILE))
+ write(fd, "\r", 1);
+#endif
write(fd, "\n", 1);
fileptr = fileptr->next;
strerror(errno));
return -1;
} else if (size > 0) {
+#ifndef NANO_SMALL
+ if (ISSET(DOS_FILE)) {
+ size = write(fd, "\r", 1);
+ lineswritten++;
+ if (size == -1) {
+ statusbar(_("Could not open file for writing: %s"),
+ strerror(errno));
+ return -1;
+ }
+ }
+#endif
size = write(fd, "\n", 1);
lineswritten++;
if (size == -1) {
#define REVERSE_SEARCH (1<<18)
#define MULTIBUFFER (1<<19)
#define CLEAR_BACKUPSTRING (1<<20)
+#define DOS_FILE (1<<21)
/* Control key sequences, changing these would be very very bad */