72 if ((a == NULL) || (a->
data == NULL))
return(0);
75 if (pp == NULL)
return objsize;
88 int i,first,
len=0,
c, use_bn;
89 char ftmp[24], *tmp = ftmp;
90 int tmpsize =
sizeof ftmp;
103 if ((
c >=
'0') && (
c <=
'2'))
123 if ((
c !=
'.') && (
c !=
' '))
135 if ((
c ==
' ') || (
c ==
'.'))
137 if ((
c <
'0') || (
c >
'9'))
142 if (!use_bn && l >= ((ULONG_MAX - 80) / 10L))
157 l=l*10L+(long)(
c-
'0');
161 if ((first < 2) && (l >= 40))
179 blsize = (blsize + 6)/7;
180 if (blsize > tmpsize)
184 tmpsize = blsize + 32;
197 tmp[i++]=(
unsigned char)l&0x7f;
211 out[len++]=tmp[i]|0x80;
237 char buf[80], *
p = buf;
240 if ((a == NULL) || (a->
data == NULL))
243 if (i > (
int)(
sizeof(buf) - 1))
261 const unsigned char *
p;
290 const unsigned char *
p;
296 for (i = 0, p = *pp; i <
len; i++, p++)
298 if (*p == 0x80 && (!i || !(p[-1] & 0x80)))
307 if ((a == NULL) || ((*a) == NULL) ||
316 data = (
unsigned char *)ret->
data;
328 memcpy(data,p,(
int)len);
337 if (a != NULL) (*a)=ret;
342 if ((ret != NULL) && ((a == NULL) || (*a != ret)))
368 if (a == NULL)
return;
388 const char *sn,
const char *ln)