mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Postgres95 1.01 Distribution - Virgin Sources
This commit is contained in:
51
src/interfaces/libpgtcl/pgtclId.c
Normal file
51
src/interfaces/libpgtcl/pgtclId.c
Normal file
@ -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;
|
||||
}
|
Reference in New Issue
Block a user