libarchive: open_zipped() does not need to check extensions for e.g. gzip
[oweals/busybox.git] / editors / ed.c
index 516b8d78de5e4a14398f8397c8a6c81fd5a35281..3087fb0b9f14797fb75391ef1d096a530bb52155 100644 (file)
@@ -7,6 +7,21 @@
  * The "ed" built-in command (much simplified)
  */
 
+//config:config ED
+//config:      bool "ed"
+//config:      default y
+//config:      help
+//config:        The original 1970's Unix text editor, from the days of teletypes.
+//config:        Small, simple, evil. Part of SUSv3. If you're not already using
+//config:        this, you don't need it.
+
+//kbuild:lib-$(CONFIG_ED) += ed.o
+
+//applet:IF_ED(APPLET(ed, BB_DIR_BIN, BB_SUID_DROP))
+
+//usage:#define ed_trivial_usage ""
+//usage:#define ed_full_usage ""
+
 #include "libbb.h"
 
 typedef struct LINE {
@@ -129,7 +144,7 @@ static void doCommands(void)
                 * 0  on ctrl-C,
                 * >0 length of input string, including terminating '\n'
                 */
-               len = read_line_input(": ", buf, sizeof(buf), NULL);
+               len = read_line_input(NULL, ": ", buf, sizeof(buf), /*timeout*/ -1);
                if (len <= 0)
                        return;
                endbuf = &buf[len - 1];
@@ -227,7 +242,7 @@ static void doCommands(void)
                        }
                        if (!dirty)
                                return;
-                       len = read_line_input("Really quit? ", buf, 16, NULL);
+                       len = read_line_input(NULL, "Really quit? ", buf, 16, /*timeout*/ -1);
                        /* read error/EOF - no way to continue */
                        if (len < 0)
                                return;
@@ -451,7 +466,7 @@ static void subCommand(const char *cmd, int num1, int num2)
 
                /*
                 * The new string is larger, so allocate a new line
-                * structure and use that.  Link it in in place of
+                * structure and use that.  Link it in place of
                 * the old line structure.
                 */
                nlp = xmalloc(sizeof(LINE) + lp->len + deltaLen);
@@ -541,7 +556,7 @@ static void addLines(int num)
                 * 0  on ctrl-C,
                 * >0 length of input string, including terminating '\n'
                 */
-               len = read_line_input("", buf, sizeof(buf), NULL);
+               len = read_line_input(NULL, "", buf, sizeof(buf), /*timeout*/ -1);
                if (len <= 0) {
                        /* Previously, ctrl-C was exiting to shell.
                         * Now we exit to ed prompt. Is in important? */
@@ -671,7 +686,7 @@ static int readLines(const char *file, int num)
 
        fd = open(file, 0);
        if (fd < 0) {
-               perror(file);
+               bb_simple_perror_msg(file);
                return FALSE;
        }
 
@@ -721,7 +736,7 @@ static int readLines(const char *file, int num)
        } while (cc > 0);
 
        if (cc < 0) {
-               perror(file);
+               bb_simple_perror_msg(file);
                close(fd);
                return FALSE;
        }
@@ -761,7 +776,7 @@ static int writeLines(const char *file, int num1, int num2)
 
        fd = creat(file, 0666);
        if (fd < 0) {
-               perror(file);
+               bb_simple_perror_msg(file);
                return FALSE;
        }
 
@@ -776,7 +791,7 @@ static int writeLines(const char *file, int num1, int num2)
 
        while (num1++ <= num2) {
                if (full_write(fd, lp->data, lp->len) != lp->len) {
-                       perror(file);
+                       bb_simple_perror_msg(file);
                        close(fd);
                        return FALSE;
                }
@@ -786,7 +801,7 @@ static int writeLines(const char *file, int num1, int num2)
        }
 
        if (close(fd) < 0) {
-               perror(file);
+               bb_simple_perror_msg(file);
                return FALSE;
        }