📄 crypt.h
字号:
/* Interface to crypt that deals when it's missing Copyright (C) 1996 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef __CRYPT_H__#define __CRYPT_H__#if HAVE_DECL_CRYPT/* Avoid arg-mismatch with system decl by being vague. */#define CRYPT_ARGS ()#else#define CRYPT_ARGS __P ((char *str, char salt[2]))#endif#if !HAVE_DECL_CRYPT#ifdef HAVE_ATTR_WEAK_REFSextern char *crypt CRYPT_ARGS __attribute__ ((weak));#else /* !HAVE_ATTR_WEAK_REFS */extern char *crypt CRYPT_ARGS;#ifdef HAVE_PRAGMA_WEAK_REFS#pragma weak crypt#else /* !HAVE_PRAGMA_WEAK_REFS */#ifdef HAVE_ASM_WEAK_REFSasm (".weak crypt");#endif /* HAVE_ASM_WEAK_REFS */#endif /* HAVE_PRAGMA_WEAK_REFS */#endif /* HAVE_ATTR_WEAK_REFS */#endif /* HAVE_CRYPT */#undef CRYPT_ARGS/* Call crypt, or just return STR if there is none. */#ifdef HAVE_CRYPT#define CRYPT(str, salt) crypt (str, salt)#else /* !HAVE_CRYPT */#ifdef HAVE_WEAK_REFS#ifdef __GNUC__/* this is slightly convoluted to avoid an apparent gcc bug. */#define CRYPT(str, salt) \ ({ char *__str = (str); if (crypt) __str = crypt (__str, salt); __str; })#else#define CRYPT(str, salt) (crypt ? crypt (str, salt) : (str))#endif /* __GCC__ */#else /* !HAVE_WEAK_REFS */#define CRYPT(str, salt) (str)#endif /* HAVE_WEAK_REFS */#endif /* HAVE_CRYPT */#endif /* __CRYPT_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -