apply four post-1.8.2 patches; bump to 1.8.3 1_8_stable 1_8_3
authorDenis Vlasenko <vda.linux@googlemail.com>
Fri, 21 Mar 2008 08:50:06 +0000 (08:50 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Fri, 21 Mar 2008 08:50:06 +0000 (08:50 -0000)
Makefile
applets/applets.c
editors/vi.c
libbb/lineedit.c
networking/arping.c

index ac0e55027dcf79676b5bd56ff7077217b384dd7b..49df1197d3aa2ab302156f35eba9489affb415d3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 1
 PATCHLEVEL = 8
-SUBLEVEL = 2
+SUBLEVEL = 3
 EXTRAVERSION =
 NAME = Unnamed
 
index 1950cf34ee819be2291e122d62c8674c5ad641ce..11340c4c7f54b645aafc76188250f22a4057399d 100644 (file)
@@ -17,7 +17,7 @@
 #warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
 #warning Note that glibc is unsuitable for static linking anyway.
 #warning If you still want to do it, remove -Wl,--gc-sections
-#warning from top-level Makefile and remove this warning.
+#warning from file scripts/trylink and remove this warning.
 #error Aborting compilation.
 #endif
 
index 345a9452d8b2711e4ed527ffb42cd0ee4bc5c684..9426ab855588e34f496bf04917debbac36d4ac0e 100644 (file)
@@ -184,6 +184,7 @@ struct globals {
 #if ENABLE_FEATURE_VI_COLON
        char *initial_cmds[3];  // currently 2 entries, NULL terminated
 #endif
+       char readbuffer[MAX_LINELEN];
 };
 #define G (*ptr_to_globals)
 #define text           (G.text          )
@@ -200,6 +201,10 @@ struct globals {
 #define term_orig      (G.term_orig     )
 #define term_vi        (G.term_vi       )
 #define initial_cmds   (G.initial_cmds  )
+#define readbuffer     (G.readbuffer    )
+#define INIT_G() do { \
+       PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
+} while (0)
 
 static int init_text_buffer(char *); // init from file or create new
 static void edit_file(char *); // edit one file
@@ -321,7 +326,7 @@ int vi_main(int argc, char **argv)
        my_pid = getpid();
 #endif
 
-       PTR_TO_GLOBALS = xzalloc(sizeof(G));
+       INIT_G();
 
 #if ENABLE_FEATURE_VI_CRASHME
        srand((long) my_pid);
@@ -2142,8 +2147,6 @@ static int mysleep(int hund)      // sleep for 'h' 1/100 seconds
        return safe_poll(pfd, 1, hund*10) > 0;
 }
 
-#define readbuffer bb_common_bufsiz1
-
 static int readed_for_parse;
 
 //----- IO Routines --------------------------------------------
index f65e852b164330cc9224e391f8f6d4c915520b33..4253054c564cf5e81e6c5f683123306e8fe6214f 100644 (file)
@@ -1211,7 +1211,7 @@ static void parse_prompt(const char *prmt_ptr)
 #endif
 
 #define setTermSettings(fd, argp) tcsetattr(fd, TCSANOW, argp)
-#define getTermSettings(fd, argp) tcgetattr(fd, argp);
+#define getTermSettings(fd, argp) tcgetattr(fd, argp)
 
 static sighandler_t previous_SIGWINCH_handler;
 
@@ -1270,9 +1270,10 @@ int read_line_input(const char *prompt, char *command, int maxsize, line_input_t
        smalluint prevc;
 #endif
 
-       getTermSettings(0, (void *) &initial_settings);
-       /* Happens when e.g. stty -echo was run before */
-       if (!(initial_settings.c_lflag & ECHO)) {
+       if (getTermSettings(0, (void *) &initial_settings) < 0
+        /* Happens when e.g. stty -echo was run before */
+        || !(initial_settings.c_lflag & ECHO)
+       ) {
                parse_prompt(prompt);
                fflush(stdout);
                fgets(command, maxsize, stdin);
index 44615d5b1aada5783f3dbe442b6ba645f82d227c..a8ee9bf39bc3fcdc078edd18fe32db9706597366 100644 (file)
@@ -207,7 +207,8 @@ static int recv_pack(unsigned char *buf, int len, struct sockaddr_ll *FROM)
                }
 
                if (last) {
-                       printf(" %u.%03ums\n", last / 1000, last % 1000);
+                       unsigned diff = MONOTONIC_US() - last;
+                       printf(" %u.%03ums\n", diff / 1000, diff % 1000);
                } else {
                        printf(" UNSOLICITED?\n");
                }