X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6fc2909634fb431c65ecfa8b6db4f6519f99b389..b34e10452c095a4a4f9d6e9978ddc6da41e44c99:/sbr/utils.c diff --git a/sbr/utils.c b/sbr/utils.c index 1b1b4738..e5ed66aa 100644 --- a/sbr/utils.c +++ b/sbr/utils.c @@ -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; +}