From c5ba326fd29e9c9871bb462e30ea1a3a0fa3585b Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 24 Jun 2015 09:12:01 +0000
Subject: [PATCH]

---
 Parser/Gmsh.tab.cpp                         | 16 ++++++++--------
 Parser/Gmsh.y                               | 12 ++++++------
 benchmarks/2d/periodic_rotation_on_axis.geo |  2 +-
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index 54aa87cccc..3c5ebdcb6f 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -1122,7 +1122,7 @@ static const yytype_uint16 yyrline[] =
     3561,  3565,  3569,  3573,  3579,  3585,  3589,  3593,  3597,  3601,
     3620,  3633,  3636,  3652,  3655,  3672,  3675,  3681,  3684,  3691,
     3694,  3701,  3757,  3827,  3832,  3899,  3935,  3943,  3986,  4025,
-    4045,  4075,  4101,  4127,  4153,  4179,  4205,  4227,  4255,  4283,
+    4045,  4074,  4101,  4127,  4153,  4179,  4205,  4227,  4255,  4283,
     4287,  4291,  4319,  4358,  4397,  4418,  4439,  4466,  4470,  4480,
     4515,  4516,  4517,  4521,  4527,  4539,  4557,  4585,  4586,  4587,
     4588,  4589,  4590,  4591,  4592,  4593,  4600,  4601,  4602,  4603,
@@ -9539,20 +9539,19 @@ yyreduce:
       }
       else{
         if (List_Nbr((yyvsp[(10) - (11)].l)) < 12){
+          // FIXME Koen restore full automatic case here if List_Nbr($10) == 0)
           yymsg(0, "Affine transformation requires at least 12 entries");
         }
         else {
-
           std::vector<double> transfo(16,0);
-          for(int i = 0; i < List_Nbr((yyvsp[(10) - (11)].l)); i++) List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
-
+          for(int i = 0; i < List_Nbr((yyvsp[(10) - (11)].l)); i++)
+            List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
           for(int i = 0; i < List_Nbr((yyvsp[(4) - (11)].l)); i++){
             double d_master, d_slave;
             List_Read((yyvsp[(8) - (11)].l), i, &d_master);
             List_Read((yyvsp[(4) - (11)].l), i, &d_slave);
             int j_master = (int)d_master;
             int j_slave  = (int)d_slave;
-
             addPeriodicEdge(j_slave,j_master,transfo);
           }
         }
@@ -9564,7 +9563,7 @@ yyreduce:
 
   case 321:
 /* Line 1787 of yacc.c  */
-#line 4077 "Gmsh.y"
+#line 4076 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
         yymsg(0, "Number of master faces (%d) different from number of "
@@ -9572,12 +9571,13 @@ yyreduce:
       }
       else{
         if (List_Nbr((yyvsp[(10) - (11)].l)) < 12){
+          // FIXME Koen restore full automatic case here if List_Nbr($10) == 0)
           yymsg(0, "Affine transformation requires at least 12 entries");
         }
         else {
           std::vector<double> transfo(16,0);
-          for(int i = 0; i < List_Nbr((yyvsp[(10) - (11)].l)); i++) List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
-
+          for(int i = 0; i < List_Nbr((yyvsp[(10) - (11)].l)); i++)
+            List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
           for(int i = 0; i < List_Nbr((yyvsp[(4) - (11)].l)); i++){
             double d_master, d_slave;
             List_Read((yyvsp[(8) - (11)].l), i, &d_master);
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index 1d11692514..e11bfb2277 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -4051,20 +4051,19 @@ Constraints :
       }
       else{
         if (List_Nbr($10) < 12){
+          // FIXME Koen restore full automatic case here if List_Nbr($10) == 0)
           yymsg(0, "Affine transformation requires at least 12 entries");
         }
         else {
-
           std::vector<double> transfo(16,0);
-          for(int i = 0; i < List_Nbr($10); i++) List_Read($10, i, &transfo[i]);
-
+          for(int i = 0; i < List_Nbr($10); i++)
+            List_Read($10, i, &transfo[i]);
           for(int i = 0; i < List_Nbr($4); i++){
             double d_master, d_slave;
             List_Read($8, i, &d_master);
             List_Read($4, i, &d_slave);
             int j_master = (int)d_master;
             int j_slave  = (int)d_slave;
-
             addPeriodicEdge(j_slave,j_master,transfo);
           }
         }
@@ -4081,12 +4080,13 @@ Constraints :
       }
       else{
         if (List_Nbr($10) < 12){
+          // FIXME Koen restore full automatic case here if List_Nbr($10) == 0)
           yymsg(0, "Affine transformation requires at least 12 entries");
         }
         else {
           std::vector<double> transfo(16,0);
-          for(int i = 0; i < List_Nbr($10); i++) List_Read($10, i, &transfo[i]);
-
+          for(int i = 0; i < List_Nbr($10); i++)
+            List_Read($10, i, &transfo[i]);
           for(int i = 0; i < List_Nbr($4); i++){
             double d_master, d_slave;
             List_Read($8, i, &d_master);
diff --git a/benchmarks/2d/periodic_rotation_on_axis.geo b/benchmarks/2d/periodic_rotation_on_axis.geo
index 6c113fcbef..337da076fc 100644
--- a/benchmarks/2d/periodic_rotation_on_axis.geo
+++ b/benchmarks/2d/periodic_rotation_on_axis.geo
@@ -36,7 +36,7 @@ Line Loop(s2b)= {l0, l022b, -l1b, -l011b};
 Ruled Surface(s2b)= {s2b};
 //Plane Surface(s2b)= {s2b};
 
-//Periodic Line {l1b, l011b, l022b} = {l1, l011, l022};
+Periodic Line {l1b, l011b, l022b} = {l1, l011, l022};
 
 // Periodic Surface seems to work properly only with Ruled Surfaces (meshing problem with Plane Surface)
 Periodic Surface s2b {Boundary{Surface{s2b};}} = s2 {Boundary{Surface{s2};}};
-- 
GitLab