Port fix for SL-32157 "PowerPC Mac crashes when crossing regions or teleporting with capabilities turned on" from Branch 1-13-2 r56710 via partial merge of release-candidate -r 56743:56744

master
Josh Bell 2007-01-15 19:49:52 +00:00
parent aeb6d0c93c
commit fc664e93e6
2 changed files with 27 additions and 0 deletions

View File

@ -180,3 +180,26 @@ U64 ll_U64_from_sd(const LLSD& sd)
return ((U64)high) << 32 | low;
}
// IP Address (stored in net order in a U32, so don't need swizzling)
LLSD ll_sd_from_ipaddr(const U32 val)
{
std::vector<U8> v;
v.resize(4);
memcpy(&(v[0]), &val, 4); /* Flawfinder: ignore */
return LLSD(v);
}
U32 ll_ipaddr_from_sd(const LLSD& sd)
{
U32 ret;
std::vector<U8> v = sd.asBinary();
if (v.size() < 4)
{
return 0;
}
memcpy(&ret, &(v[0]), 4); /* Flawfinder: ignore */
return ret;
}

View File

@ -47,4 +47,8 @@ U32 ll_U32_from_sd(const LLSD& sd);
LLSD ll_sd_from_U64(const U64);
U64 ll_U64_from_sd(const LLSD& sd);
// IP Address
LLSD ll_sd_from_ipaddr(const U32);
U32 ll_ipaddr_from_sd(const LLSD& sd);
#endif // LL_LLSDUTIL_H