diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-07-09 06:22:35 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-07-09 06:22:35 +0000 |
commit | d31084e9d1118b25fd16580d9d8c2924b5740dff (patch) | |
tree | 3179e66307d54df9c7b966543550e601eb55e668 /src/interfaces/libpgtcl/pgtclId.c | |
download | postgresql-PG95-1_01.tar.gz postgresql-PG95-1_01.zip |
Postgres95 1.01 Distribution - Virgin SourcesPG95-1_01
Diffstat (limited to 'src/interfaces/libpgtcl/pgtclId.c')
-rw-r--r-- | src/interfaces/libpgtcl/pgtclId.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/interfaces/libpgtcl/pgtclId.c b/src/interfaces/libpgtcl/pgtclId.c new file mode 100644 index 00000000000..00dffe7a883 --- /dev/null +++ b/src/interfaces/libpgtcl/pgtclId.c @@ -0,0 +1,51 @@ +/*------------------------------------------------------------------------- + * + * pgtclId.c-- + * useful routines to convert between strings and pointers + * Needed because everything in tcl is a string, but we want pointers + * to data structures + * + * ASSUMPTION: sizeof(long) >= sizeof(void*) + * + * + * Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclId.c,v 1.1.1.1 1996/07/09 06:22:16 scrappy Exp $ + * + *------------------------------------------------------------------------- + */ + +#include <stdlib.h> +#include <string.h> +#include "tcl.h" + +#include "pgtclId.h" + +/* convert a pointer into a string */ +void +PgSetId(char *id, void *ptr) +{ + (void) sprintf(id, "pgp%lx", (long) ptr); +} + + +/* get back a pointer from a string */ +void * +PgGetId(char *id) +{ + long ptr; + ptr = strtol(id+3, NULL, 16); + return (void *) ptr; +} + +/* check to see if the string is a valid pgtcl pointer */ +int +PgValidId(char* id) +{ + if ( (strlen(id) > 3) && id[0]=='p' && id[1] == 'g' && id[2] == 'p') + return 1; + else + return 0; +} |