#include "findme.h"
#include "poptint.h"
+#ifndef DBL_EPSILON
+#define DBL_EPSILON 2.2204460492503131e-16
+#endif
+
#ifdef MYDEBUG
/*@unchecked@*/
int _popt_debug = 0;
poptItem item = con->doExec;
const char ** argv;
int argc = 0;
- int rc;
if (item == NULL) /*XXX can't happen*/
return POPT_ERROR_NOARG;
argv[argc] = NULL;
+ {
#ifdef __hpux
- rc = setresgid(getgid(), getgid(),-1);
+ int rc = setresgid(getgid(), getgid(),-1);
if (rc) return POPT_ERROR_ERRNO;
rc = setresuid(getuid(), getuid(),-1);
if (rc) return POPT_ERROR_ERRNO;
* XXX from Norbert Warmuth <nwarmuth@privat.circular.de>
*/
#if defined(HAVE_SETUID)
- rc = setgid(getgid());
+ int rc = setgid(getgid());
if (rc) return POPT_ERROR_ERRNO;
rc = setuid(getuid());
if (rc) return POPT_ERROR_ERRNO;
#elif defined (HAVE_SETREUID)
- rc = setregid(getgid(), getgid());
+ int rc = setregid(getgid(), getgid());
if (rc) return POPT_ERROR_ERRNO;
rc = setreuid(getuid(), getuid());
if (rc) return POPT_ERROR_ERRNO;
; /* Can't drop privileges */
#endif
#endif
+ }
if (argv[0] == NULL)
return POPT_ERROR_NOARG;
}
#endif
- rc = execvp(argv[0], (char *const *)argv);
+ execvp(argv[0], (char *const *)argv);
return POPT_ERROR_ERRNO;
}
if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_DOUBLE) {
*((double *) opt->arg) = aDouble;
} else {
-#define _ABS(a) ((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a))
- if ((_ABS(aDouble) - FLT_MAX) > DBL_EPSILON)
+#define MY_ABS(a) ((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a))
+ if ((MY_ABS(aDouble) - FLT_MAX) > DBL_EPSILON)
return POPT_ERROR_OVERFLOW;
- if ((FLT_MIN - _ABS(aDouble)) > DBL_EPSILON)
+ if ((FLT_MIN - MY_ABS(aDouble)) > DBL_EPSILON)
return POPT_ERROR_OVERFLOW;
*((float *) opt->arg) = aDouble;
}