pike.git/
lib/
modules/
Sql.pmod/
pgsql_util.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2017-12-07
2017-12-07 17:51:54 by Stephen R. van den Berg <srb@cuci.nl>
db9867f43969b83a31a8314239c2a6eaff242adf (
23
lines) (+
16
/-
7
)
[
Show
|
Annotate
]
Branch:
master
Sql.Timestamp: Add operators to the SQL types, change encoding for Inet.
918:
value = cr->read(collen); else { value = __builtin.Sql.Inet();
-
cr->read_int8(); // 2 == IPv4, 3 == IPv6
-
value->masklen = cr->read_int8();
+
int iptype =
cr->read_int8();
// 2 == IPv4, 3 == IPv6
+
value->masklen = cr->read_int8()
+ (iptype == 2 && 12*8)
;
cr->read_int8(); // 0 == INET, 1 == CIDR
-
value->address = cr->read_
hstring
(1);
+
value->address = cr->read_
hint
(1);
} break; case TIMESTAMPOID:
1126:
case INETOID: if (stringp(value)) plugbuffer->add_hstring(value, 4);
-
else
-
plugbuffer->add_int32(4 +
sizeof
(value->
address
))
-
->add_int8(
sizeof
(value->address)
==
4
?
2
:
3)
+
else
if (value->address <= 0xffffffff) // IPv4
+
plugbuffer->add_int32(4 +
4)
+
->add_int8
(
2)
+
->add_int8(
value->
masklen - 12*8
)
+
->add_int8(dtoid[i] == CIDROID
)
+
->add_int8(
4)
+
->add_int
(value->address
, 4
)
;
+
else // IPv6
+
plugbuffer->add_int32(
4
+
16)
+
->add_int8(
3)
->add_int8(value->masklen) ->add_int8(dtoid[i] == CIDROID)
-
->add_
hstring
(value->address,
1
);
+
->add_
int8
(
16)
+
->add_int(
value->address,
16
);
break; break; case DATEOID: