コード例 #1
0
ファイル: keyvals.c プロジェクト: AidanJones/osm2pgsql
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);  
}
コード例 #2
0
ファイル: keyvals.c プロジェクト: umidev/osm2pgsql
/* 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);  
}