/ Check-in [9d8d3af8]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a problem in the geopoly json parser associated with spaces before a coordinate number.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | rtree-geopoly
Files: files | file ages | folders
SHA3-256: 9d8d3af89ab241fd6c68e043e559359c85653aa0e31270b658ff01867ae929c4
User & Date: drh 2018-05-29 17:17:22
Context
2018-08-23
14:54
Merge enhancements from trunk. check-in: c446c884 user: drh tags: rtree-geopoly
2018-05-29
17:17
Fix a problem in the geopoly json parser associated with spaces before a coordinate number. check-in: 9d8d3af8 user: drh tags: rtree-geopoly
2018-05-28
23:59
The geopoly virtual table seems to be working. But only thinly tested so far. check-in: 4288f1ad user: drh tags: rtree-geopoly
Changes
Hide Diffs Unified Diffs Show Whitespace Changes Patch

Changes to ext/rtree/geopoly.c.

142
143
144
145
146
147
148
149
150

151
152
153
154
155
156
157
  return p->z[0];
}

/* Parse out a number.  Write the value into *pVal if pVal!=0.
** return non-zero on success and zero if the next token is not a number.
*/
static int geopolyParseNumber(GeoParse *p, GeoCoord *pVal){
  const unsigned char *z = p->z;
  char c = geopolySkipSpace(p);

  int j;
  int seenDP = 0;
  int seenE = 0;
  assert( '-' < '0' );
  if( c<='0' ){
    j = c=='-';
    if( z[j]=='0' && z[j+1]>='0' && z[j+1]<='9' ) return 0;







<

>







142
143
144
145
146
147
148

149
150
151
152
153
154
155
156
157
  return p->z[0];
}

/* Parse out a number.  Write the value into *pVal if pVal!=0.
** return non-zero on success and zero if the next token is not a number.
*/
static int geopolyParseNumber(GeoParse *p, GeoCoord *pVal){

  char c = geopolySkipSpace(p);
  const unsigned char *z = p->z;
  int j;
  int seenDP = 0;
  int seenE = 0;
  assert( '-' < '0' );
  if( c<='0' ){
    j = c=='-';
    if( z[j]=='0' && z[j+1]>='0' && z[j+1]<='9' ) return 0;