Blob Blame History Raw
#include "selinux_internal.h"
#include <string.h>

int (*lib_trans_to_raw_context)(char *trans, char **rawp) hidden;
int (*lib_raw_to_trans_context)(char *raw, char **transp) hidden;

int hidden trans_to_raw_context(char *trans, char **rawp)
{
	*rawp = NULL;
	if (!trans)
		return 0;

	if (trans && lib_trans_to_raw_context(trans, rawp))
		*rawp = strdup(trans);

	return *rawp ? 0 : -1;
}

int selinux_trans_to_raw_context(security_context_t trans, 
				 security_context_t *rawp)
{
	if (context_translations)
		return trans_to_raw_context(trans, rawp);

	if (!trans) {
		*rawp = NULL;
		return 0;
	}

	*rawp = strdup(trans);
	return *rawp ? 0 : -1;
}

int hidden raw_to_trans_context(char *raw, char **transp) 
{
	*transp = NULL;
	if (!raw)
		return 0;

	if (raw && lib_raw_to_trans_context(raw, transp))
		*transp = strdup(raw);

	return *transp ? 0 : -1;
}

int selinux_raw_to_trans_context(security_context_t raw, 
				 security_context_t *transp)
{
	if (context_translations)
		return raw_to_trans_context(raw, transp);

	if (!raw) {
		*transp = NULL;
		return 0;
	}

	*transp = strdup(raw);
	return *transp ? 0 : -1;
}