From 830868c3edd603fc2466248ed363066f312c9ac8 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 18 Feb 2019 17:07:08 +0100 Subject: Better handling of multiple symop error --- libcrystfel/src/symop.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libcrystfel/src/symop.y b/libcrystfel/src/symop.y index a304ea37..bebf823f 100644 --- a/libcrystfel/src/symop.y +++ b/libcrystfel/src/symop.y @@ -70,10 +70,13 @@ %type fraction %{ -static int try_add_symop(SymOpList *list, RationalMatrix *m) +static int try_add_symop(SymOpList *list, RationalMatrix *m, int complain) { if ( list == NULL ) { - yyerror(m, list, "Must be a single symmetry operation"); + /* Only complain if this isn't the only operation provided */ + if ( complain ) { + yyerror(m, list, "Must be a single symmetry operation"); + } return 1; } else { IntegerMatrix *im; @@ -92,8 +95,8 @@ static int try_add_symop(SymOpList *list, RationalMatrix *m) %% symoplist: - symop { if ( try_add_symop(list, m) ) YYERROR; } -| symoplist SEMICOLON symop { if ( try_add_symop(list, m) ) YYERROR; } + symop { try_add_symop(list, m, 0); } +| symoplist SEMICOLON symop { if ( try_add_symop(list, m, 1) ) YYERROR; } ; symop: -- cgit v1.2.3