#if !defined(OPENSSL_SYS_MSDOS)
# include OPENSSL_UNISTD
#endif
-#include <unistd.h>
+
#include <stdlib.h>
#include <errno.h>
#include <ctype.h>
/* Strip off trailing nonsense. */
n = strlen(p);
if (n > 4 &&
- (strcmp(&p[n - 4], ".exe") == 0 || strcmp(&p[n - 4], ".EXE") == 0)
+ (strcmp(&p[n - 4], ".exe") == 0 || strcmp(&p[n - 4], ".EXE") == 0))
n -= 4;
#if defined(OPENSSL_SYS_NETWARE)
if (n > 4 &&
- (strcmp(&p[n - 4], ".nlm") == 0 || strcmp(&p[n - 4], ".NLM") == 0)
+ (strcmp(&p[n - 4], ".nlm") == 0 || strcmp(&p[n - 4], ".NLM") == 0))
n -= 4;
#endif
if (n > sizeof prog - 1)
n = sizeof prog - 1;
for (q = prog, i = 0; i < n; i++, p++)
- q++ = isupper(*p) ? tolower(*p) : *p;
+ *q++ = isupper(*p) ? tolower(*p) : *p;
*q = '\0';
return prog;
}
for (; o->name; ++o) {
const OPTIONS *next;
#ifndef NDEBUG
- int i;
+ int duplicated, i;
#endif
if (o->name == OPT_HELP_STR || o->name == OPT_MORE_STR)
|| i == 'f' || i == 'F');
/* Make sure there are no duplicates. */
- for (next = o; (++next)->name;) {
+ for (next = o + 1; next->name; ++next) {
/*
- * do allow aliases: assert(o->retval != next->retval);
+ * Some compilers inline strcmp and the assert string is too long.
*/
- assert(strcmp(o->name, next->name) != 0);
+ duplicated = strcmp(o->name, next->name) == 0;
+ assert(!duplicated);
}
#endif
if (o->name[0] == '\0') {