for (i=0; i < in->num_values; i++) {
long v;
- long n;
char buf[sizeof("-2147483648")];
char *end = NULL;
return WERR_DS_INVALID_ATTRIBUTE_SYNTAX;
}
- n = v & UINT32_MAX;
-
if (n != v) {
DEBUG(0,("invalid[%s] n[%ld] v[%ld]\n",
buf, n, v));
}
if ((v & INT32_MIN) && buf[0] != '-') {
- /*
- * if the 0x80000000 bit is set, it is a negative
- * value. We need to make sure the it was given
- * as a negativ string value.
- *
- * We need to accept '-2147483647', but reject
- * '2147483649', both represent 0x80000001.
+ /*
+ * We need to accept values between '4294967295'
+ * and '-2147483648', but store and return values
+ * between '2147483647' and '-2147483648'.
*/
DEBUG(0,("invalid[%s] n[%ld] v[%ld]\n",
buf, n, v));