c->o.__expect_errval = c->o.ret_pwptr;
c->o.__expect_errval = 0;
invoke__getpwnam(void *data){    callstate_t *c = (callstate_t *) data;    c = c;    edtk_debug("%s: threadid = %lx", __FUNCTION__, pthread_self());    c->o.ret_pwptr = getpwnam(                          c->i.login                        );    if (c->o.ret_pwptr != NULL) {        c->o.__expect = 1;    } else {        c->o.__expect = 0;        c->o.__expect_errval = c->o.ret_pwptr;        /* Danger!  Do not put debugging statement before saving error val! */        edtk_debug("%s: threadid = %lx expectation failed!", __FUNCTION__, pthread_self());    }    edtk_debug("%s: threadid = %lx done", __FUNCTION__, pthread_self());}