void
sys·ifaceI2I(Sigi *si, Map *im, void *it, Map *retim, void *retit)
{
-
if(debug) {
prints("I2I sigi=");
printsigi(si);
}
if(im == nil) {
- throw("ifaceI2I: nil map");
- return;
+ // If incoming interface is uninitialized (zeroed)
+ // make the outgoing interface zeroed as well.
+ retim = nil;
+ retit = nil;
+ } else {
+ retit = it;
+ retim = im;
+ if(im->sigi != si)
+ retim = hashmap(si, im->sigt);
}
- retit = it;
- retim = im;
- if(im->sigi != si)
- retim = hashmap(si, im->sigt);
-
if(debug) {
prints("I2I ret=");
printiface(retim, retit);