+static int yaz_sru_integer_decode(ODR odr, const char *pname,
+ const char *valstr, int **valp,
+ Z_SRW_diagnostic **diag, int *num_diag)
+
+{
+ int ival;
+ if (!valstr)
+ return 0;
+ if (sscanf(valstr, "%d", &ival) != 1)
+ {
+ yaz_add_srw_diagnostic(odr, diag, num_diag,
+ YAZ_SRW_UNSUPP_PARAMETER_VALUE, pname);
+ return 0;
+ }
+ *valp = odr_intdup(odr, ival);
+ return 1;
+}