]> diplodocus.org Git - nmh/blobdiff - sbr/utils.c
Check that script(1) supports SHELL in test-version-check.
[nmh] / sbr / utils.c
index 1b1b47386749dc993798f7986cb5de36ab17035e..f24f00def825f46d8495109e0551f6aa9caac290 100644 (file)
@@ -390,15 +390,15 @@ nmh_init(const char *argv0, int read_context) {
             isatty (fileno (stdout))  &&  isatty (fileno (stderr))) {
             if (nmh_version_changed (check_older_version)) {
                 printf ("==================================================="
-                        "====================\n");
+                        "=====================\n");
                 printf ("Welcome to nmh version %s\n\n", VERSION);
-                printf ("See the release notes in %s/NEWS .\n\n",
+                printf ("See the release notes in %s/NEWS\n\n",
                          mhdocdir);
                 print_intro (stdout, 1);
                 printf ("\nThis message will not be repeated until "
                         "nmh is next updated.\n");
                 printf ("==================================================="
-                        "====================\n\n");
+                        "=====================\n\n");
 
                 fputs ("Press enter to continue: ", stdout);
                 (void) read_line ();
@@ -429,7 +429,7 @@ nmh_version_changed (int older) {
     if (older) {
         /* Convert the version strings to floats and compare them.  This will
            break for versions with multiple decimal points, etc. */
-        const float current_version = strtod (VERSION, NULL);
+        const float current_version = strtof (VERSION, NULL);
         const float old_version =
             context_version  &&  strncmp (context_version, "nmh-", 4) == 0
             ?  strtof (context_version + 4, NULL)
@@ -484,3 +484,25 @@ contains8bit(const char *start, const char *end)
 
     return 0;
 }
+
+
+/*
+ * See if input has any 8-bit bytes.
+ */
+int
+scan_input (int fd, int *eightbit) {
+    int state;
+    char buf[BUFSIZ];
+
+    *eightbit = 0;
+    lseek (fd, (off_t) 0, SEEK_SET);
+
+    while ((state = read (fd, buf, sizeof buf)) > 0) {
+        if (contains8bit (buf, buf + state)) {
+            *eightbit = 1;
+            return OK;
+        }
+    }
+
+    return state == NOTOK  ?  NOTOK  :  OK;
+}