Esempio n. 1
0
void keyval2hstore_manual(char *hstring, char *key, char *value)
{
  static char* str=NULL;
  static size_t stlen=0;
  size_t len;
 
  len=strlen(value);
  if (len>stlen) {
    stlen=len;
    str=realloc(str,1+stlen*2);
  }

  len=strlen(key);
  if (len>stlen) {
    stlen=len;
    str=realloc(str,1+stlen*2);
  }

  escape4hstore(str,key);  
  hstring+=sprintf(hstring,"\"%s\"=>",str);
  escape4hstore(str,value);
  sprintf(hstring,"\"%s\"",str);  
}
Esempio n. 2
0
/* print struct keyval in syntax for pgsql hstore import 
   \ and " need to be escaped
*/
void keyval2hstore(char *hstring, struct keyval *tags)
{
  static char* str=NULL;
  static size_t stlen=0;
  size_t len;
 
  len=strlen(tags->value);
  if (len>stlen) {
    stlen=len;
    str=realloc(str,1+stlen*2);
  }

  len=strlen(tags->key);
  if (len>stlen) {
    stlen=len;
    str=realloc(str,1+stlen*2);
  }

  escape4hstore(str,tags->key);  
  hstring+=sprintf(hstring,"\"%s\"=>",str);
  escape4hstore(str,tags->value);
  sprintf(hstring,"\"%s\"",str);  
}