Edit

IABSD.fr/ports/databases/sqlite/patches/patch-src_test-util_c

Branch :

  • Show log

    Commit

  • Author : jolan
    Date : 2005-12-21 07:58:31
    Hash : 79f998fd
    Message : fix crashes on amd64

  • databases/sqlite/patches/patch-src_test-util_c
  • $OpenBSD: patch-src_test-util_c,v 1.1 2005/12/21 07:58:32 jolan Exp $
    --- src/test-util.c.orig	Wed Dec 21 01:51:05 2005
    +++ src/test-util.c	Wed Dec 21 01:53:15 2005
    @@ -0,0 +1,47 @@
    +#include <inttypes.h>
    +#include <assert.h>
    +#include "test-util.h"
    +
    +/*
    +** Translate a single byte of Hex into an integer.
    +*/
    +static int hexToInt(int h){
    +  if( h>='0' && h<='9' ){
    +    return h - '0';
    +  }else if( h>='a' && h<='f' ){
    +    return h - 'a' + 10;
    +  }else if( h>='A' && h<='F' ){
    +    return h - 'A' + 10;
    +  }else{
    +    return 0;
    +  }
    +}
    +
    +#if defined(SQLITE_TEST)
    +/*
    +** Convert text generated by the "%p" conversion format back into
    +** a pointer.
    +*/
    +void *sqliteTextToPtr(const char *z){
    +  void *p;
    +  uint64_t v;
    +  uint32_t v2;
    +  if( z[0]=='0' && z[1]=='x' ){
    +    z += 2;
    +  }
    +  v = 0;
    +  while( *z ){
    +    v = (v<<4) + hexToInt(*z);
    +    z++;
    +  }
    +  if( sizeof(p)==sizeof(v) ){
    +    p = *(void**)&v;
    +  }else{
    +    assert( sizeof(p)==sizeof(v2) );
    +    v2 = (uint32_t)v;
    +    p = *(void**)&v2;
    +  }
    +  return p;
    +}
    +#endif
    +