pike.git / src / post_modules / Nettle / hash.cmod

version» Context lines:

pike.git/src/post_modules/Nettle/hash.cmod:1:   /* hash.cmod -*- c -*- */      #include "global.h" - RCSID("$Id: hash.cmod,v 1.15 2004/01/23 01:05:06 nilsson Exp $"); + RCSID("$Id: hash.cmod,v 1.16 2004/02/14 02:54:57 nilsson Exp $");   #include "interpret.h"   #include "svalue.h"      /* For this_object() */   #include "object.h"   #include "module_support.h"      #include "nettle_config.h"      #ifdef HAVE_LIBNETTLE
pike.git/src/post_modules/Nettle/hash.cmod:50:    */   PIKECLASS HashInfo   {    CVAR const struct nettle_hash *meta;       /*! @decl string name(void)    *!    *! Returns a human readable name for the algorithm.    */    PIKEFUN string name() +  optflags OPT_TRY_OPTIMIZE;    {    if (!THIS->meta)    Pike_error("HashInfo not properly initialized.\n");       push_text(THIS->meta->name);    }       /*! @decl string digest_size(void)    *!    *! Returns the size of a hash digests.    */    PIKEFUN int digest_size() -  +  optflags OPT_TRY_OPTIMIZE;    {    if (!THIS->meta)    Pike_error("HashInfo not properly initialized.\n");       push_int(THIS->meta->digest_size);    }       /*! @decl string block_size(void)    *!    *! Returns the internal block size of the hash algorithm.    */    PIKEFUN int block_size() -  +  optflags OPT_TRY_OPTIMIZE;    {    if (!THIS->meta)    Pike_error("HashInfo not properly initialized.\n");       push_int(THIS->meta->block_size);    }    INIT    {    werror("HashInfo->INIT\n");    THIS->meta = NULL;
pike.git/src/post_modules/Nettle/hash.cmod:112:    CVAR void *ctx;       /* FIXME: Create should copy state from the other object, if    * provided. */       /*! @decl HashState update(string data)    *!    *! Hashes more data.    */    PIKEFUN object update(string data) +  optflags OPT_SIDE_EFFECT;    {    const struct nettle_hash *meta =    GET_META(Pike_fp->current_object);       if (!THIS->ctx || !meta)    Pike_error("HashState not properly initialized.\n");       NO_WIDE_STRING(data);    meta->update(THIS->ctx, data->len, data->str);