Exemple #1
0
struct servent *
getservbyport_r(int port, const char *proto, struct servent *sp,
    struct servent_data *sd)
{
	setservent_r(sd->flags & _SV_STAYOPEN, sd);
	sp = _servent_getbyport(sd, sp, port, proto);
	if (!(sd->flags & _SV_STAYOPEN))
		_servent_close(sd);
	return sp;
}
Exemple #2
0
void
endservent_r(struct servent_data *sd)
{
	_servent_close(sd);
	free(sd->aliases);
	sd->aliases = NULL;
	sd->maxaliases = 0;
	free(sd->line);
	sd->line = NULL;
	free(sd->cdb_buf);
	sd->cdb_buf = NULL;
	sd->cdb_buf_len = 0;
}
Exemple #3
0
struct servent *
getservbyname_r(const char *name, const char *proto, struct servent *sp,
    struct servent_data *sd)
{
	assert(name != NULL);
	/* proto may be NULL */

	setservent_r(sd->flags & _SV_STAYOPEN, sd);
	sp = _servent_getbyname(sd, sp, name, proto);
	if (!(sd->flags & _SV_STAYOPEN))
		_servent_close(sd);
	return sp;
}