xref: /openbsd-src/lib/libc/crypt/crypt.c (revision 0e3c6306f9e8c62197134dcb9c6f7fdda47b72b8)
1*0e3c6306Sguenther /*	$OpenBSD: crypt.c,v 1.31 2015/09/12 14:56:50 guenther Exp $	*/
28f4badf2Sniklas 
301c754e8Sjeremy #include <errno.h>
482cd5483Sderaadt #include <pwd.h>
5*0e3c6306Sguenther #include <unistd.h>
6b9d7d65bStedu 
7b9d7d65bStedu char *
crypt(const char * key,const char * setting)8b9d7d65bStedu crypt(const char *key, const char *setting)
9b9d7d65bStedu {
10b9d7d65bStedu 	if (setting[0] == '$') {
11b9d7d65bStedu 		switch (setting[1]) {
12b9d7d65bStedu 		case '2':
13b9d7d65bStedu 			return bcrypt(key, setting);
14b9d7d65bStedu 		default:
1509e42faeStedu 			errno = EINVAL;
16b9d7d65bStedu 			return (NULL);
17b9d7d65bStedu 		}
18b9d7d65bStedu 	}
1909e42faeStedu 	errno = EINVAL;
2066b2da51Sbluhm 	return (NULL);
2182cd5483Sderaadt }
22*0e3c6306Sguenther DEF_WEAK(crypt);
23