mirror of
https://github.com/reactos/wine.git
synced 2025-02-08 21:27:31 +00:00
snmpapi: Implement SnmpUtilOctets{Cmp,Cpy,Free,NCmp}.
This commit is contained in:
parent
1928c7c4c0
commit
bca85b3da3
@ -178,6 +178,80 @@ void WINAPI SnmpUtilAsnAnyFree(AsnAny *any)
|
||||
asn_any_free(any);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SnmpUtilOctetsCpy (SNMPAPI.@)
|
||||
*/
|
||||
INT WINAPI SnmpUtilOctetsCpy(AsnOctetString *dst, AsnOctetString *src)
|
||||
{
|
||||
TRACE("(%p, %p)\n", dst, src);
|
||||
|
||||
if (!dst) return SNMPAPI_ERROR;
|
||||
if (!src)
|
||||
{
|
||||
dst->dynamic = FALSE;
|
||||
dst->length = 0;
|
||||
dst->stream = NULL;
|
||||
return SNMPAPI_NOERROR;
|
||||
}
|
||||
if ((dst->stream = HeapAlloc(GetProcessHeap(), 0, src->length)))
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
dst->dynamic = TRUE;
|
||||
dst->length = src->length;
|
||||
for (i = 0; i < dst->length; i++) dst->stream[i] = src->stream[i];
|
||||
return SNMPAPI_NOERROR;
|
||||
}
|
||||
return SNMPAPI_ERROR;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SnmpUtilOctetsFree (SNMPAPI.@)
|
||||
*/
|
||||
void WINAPI SnmpUtilOctetsFree(AsnOctetString *octets)
|
||||
{
|
||||
TRACE("(%p)\n", octets);
|
||||
|
||||
if (octets)
|
||||
{
|
||||
octets->length = 0;
|
||||
if (octets->dynamic) HeapFree(GetProcessHeap(), 0, octets->stream);
|
||||
octets->stream = NULL;
|
||||
octets->dynamic = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SnmpUtilOctetsNCmp (SNMPAPI.@)
|
||||
*/
|
||||
INT WINAPI SnmpUtilOctetsNCmp(AsnOctetString *octets1, AsnOctetString *octets2, UINT count)
|
||||
{
|
||||
INT ret;
|
||||
unsigned int i;
|
||||
|
||||
TRACE("(%p, %p, %d)\n", octets1, octets2, count);
|
||||
|
||||
if (!octets1 || !octets2) return 0;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
if ((ret = octets1->stream[i] - octets2->stream[i])) return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SnmpUtilOctetsCmp (SNMPAPI.@)
|
||||
*/
|
||||
INT WINAPI SnmpUtilOctetsCmp(AsnOctetString *octets1, AsnOctetString *octets2)
|
||||
{
|
||||
TRACE("(%p, %p)\n", octets1, octets2);
|
||||
|
||||
if (octets1->length < octets2->length) return -1;
|
||||
if (octets1->length > octets2->length) return 1;
|
||||
|
||||
return SnmpUtilOctetsNCmp(octets1, octets2, octets1->length);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SnmpUtilOidCpy (SNMPAPI.@)
|
||||
*/
|
||||
|
@ -25,10 +25,10 @@
|
||||
@ stdcall SnmpUtilMemAlloc(long)
|
||||
@ stdcall SnmpUtilMemFree(ptr)
|
||||
@ stdcall SnmpUtilMemReAlloc(ptr long)
|
||||
@ stub SnmpUtilOctetsCmp
|
||||
@ stub SnmpUtilOctetsCpy
|
||||
@ stub SnmpUtilOctetsFree
|
||||
@ stub SnmpUtilOctetsNCmp
|
||||
@ stdcall SnmpUtilOctetsCmp(ptr ptr)
|
||||
@ stdcall SnmpUtilOctetsCpy(ptr ptr)
|
||||
@ stdcall SnmpUtilOctetsFree(ptr)
|
||||
@ stdcall SnmpUtilOctetsNCmp(ptr ptr long)
|
||||
@ stub SnmpUtilOidAppend
|
||||
@ stub SnmpUtilOidCmp
|
||||
@ stdcall SnmpUtilOidCpy(ptr ptr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user