Ticket #3607: parse-primitive.patch

File parse-primitive.patch, 2.7 KB (added by mobrob, 8 years ago)
Line 
1*** parse-primitive.c   Sun Jan 16 19:15:42 2011
2--- parse-primitive.c   Fri Mar 25 19:28:31 2011
3***************
4*** 59,65 ****
5      {
6          if (!strncmp(token[i], buffer, cl))
7          {
8!             char *quote = index(token[i] + cl, '"');
9              if (quote == NULL) quote = token[i] + strlen(token[i]) + 1;
10              *quote = 0;
11              if (strchr(token[i]+cl, '&') == 0) return (token[i] + cl);
12--- 59,65 ----
13      {
14          if (!strncmp(token[i], buffer, cl))
15          {
16!             char *quote = strchr(token[i] + cl, '"');
17              if (quote == NULL) quote = token[i] + strlen(token[i]) + 1;
18              *quote = 0;
19              if (strchr(token[i]+cl, '&') == 0) return (token[i] + cl);
20***************
21*** 402,412 ****
22  }
23 
24  static void process(char *line, struct osmdata_t *osmdata) {
25!     char *lt = index(line, '<');
26      if (lt)
27      {
28!         char *spc = index(lt+1, ' ');
29!         char *gt = index(lt+1, '>');
30          char *nx = spc;
31          if (*(lt+1) == '/')
32          {
33--- 402,412 ----
34  }
35 
36  static void process(char *line, struct osmdata_t *osmdata) {
37!     char *lt = strchr(line, '<');
38      if (lt)
39      {
40!         char *spc = strchr(lt+1, ' ');
41!         char *gt = strchr(lt+1, '>');
42          char *nx = spc;
43          if (*(lt+1) == '/')
44          {
45***************
46*** 446,452 ****
47          while(1)
48          {
49              bufsz = bufsz + readFile(i, buffer + bufsz, sizeof(buffer) - bufsz);
50!             char *nl = index(buffer, '\n');
51              if (nl == 0) break;
52              *nl=0;
53              while (nl && nl < buffer + bufsz)
54--- 446,452 ----
55          while(1)
56          {
57              bufsz = bufsz + readFile(i, buffer + bufsz, sizeof(buffer) - bufsz);
58!             char *nl = strchr(buffer, '\n');
59              if (nl == 0) break;
60              *nl=0;
61              while (nl && nl < buffer + bufsz)
62***************
63*** 455,461 ****
64                  process(buffer + offset, osmdata);
65                  offset = nl - buffer + 1;
66                  //printf("\nsearch line at %d, buffer sz is %d = ",offset, bufsz);
67!                 nl = index(buffer + offset, '\n');
68                  //printf("%d\n", nl ? nl-buffer : -1);
69              }
70              memcpy(buffer, buffer + offset, bufsz - offset);
71--- 455,461 ----
72                  process(buffer + offset, osmdata);
73                  offset = nl - buffer + 1;
74                  //printf("\nsearch line at %d, buffer sz is %d = ",offset, bufsz);
75!                 nl = strchr(buffer + offset, '\n');
76                  //printf("%d\n", nl ? nl-buffer : -1);
77              }
78              memcpy(buffer, buffer + offset, bufsz - offset);