X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=include%2Fmd5.h;h=b3ff4e14538dc67c3a07d16db7ff057c6359553e;hp=4cdad889a100aa36a2bdf7120cd6836751d19935;hb=56633c1f7ddc0e0d0834289483a99f75c188fd1e;hpb=8858115ecd90fe07d0a95c42b929420e4bf0d1a4 diff --git a/include/md5.h b/include/md5.h index 4cdad889a10..b3ff4e14538 100644 --- a/include/md5.h +++ b/include/md5.h @@ -16,7 +16,7 @@ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _MD5_H #define _MD5_H 1 @@ -27,6 +27,8 @@ # include #endif +#include "ansidecl.h" + /* The following contortions are an attempt to use the C preprocessor to determine an unsigned integral type that is 32 bits wide. An alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but @@ -37,6 +39,7 @@ #ifdef _LIBC # include typedef u_int32_t md5_uint32; +typedef uintptr_t md5_uintptr; #else # define INT_MAX_32_BITS 2147483647 @@ -64,6 +67,13 @@ typedef u_int32_t md5_uint32; # endif # endif # endif +/* We have to make a guess about the integer type equivalent in size + to pointers which should always be correct. */ +typedef unsigned long int md5_uintptr; +#endif + +#ifdef __cplusplus +extern "C" { #endif /* Structure to save state of computation between the single steps. */ @@ -76,7 +86,7 @@ struct md5_ctx md5_uint32 total[2]; md5_uint32 buflen; - char buffer[128]; + char buffer[128] ATTRIBUTE_ALIGNED_ALIGNOF(md5_uint32); }; /* @@ -132,4 +142,8 @@ extern int md5_stream (FILE *stream, void *resblock); digest. */ extern void *md5_buffer (const char *buffer, size_t len, void *resblock); +#ifdef __cplusplus +} +#endif + #endif