1510{
1511 uint32_t i, j;
1512 VectorTile__Tile *tile;
1513
1514
1515 if (tile1->n_layers == 0 && tile2->n_layers == 0)
1516 return tile1;
1517 else if (tile1->n_layers == 0)
1518 return tile2;
1519 else if (tile2->n_layers == 0)
1520 return tile1;
1521
1522 tile = palloc(sizeof(VectorTile__Tile));
1523 vector_tile__tile__init(tile);
1524 tile->layers = palloc(sizeof(void*));
1525 tile->n_layers = 0;
1526
1527
1528 for (i = 0; i < tile1->n_layers; i++)
1529 {
1530 for (j = 0; j < tile2->n_layers; j++)
1531 {
1532 VectorTile__Tile__Layer *l1 = tile1->layers[i];
1533 VectorTile__Tile__Layer *l2 = tile2->layers[j];
1534 if (strcmp(l1->name, l2->name)==0)
1535 {
1537 if (!layer)
1538 continue;
1539 tile->layers[tile->n_layers++] = layer;
1540
1541 tile->layers = repalloc(tile->layers, (tile->n_layers+1) * sizeof(void*));
1542 }
1543 }
1544 }
1545 return tile;
1546}
static VectorTile__Tile__Layer * vectortile_layer_combine(const VectorTile__Tile__Layer *layer1, const VectorTile__Tile__Layer *layer2)