From 580fca6dd12dc3450a0baeae518f5d0db89e0be3 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 17 Jul 2013 11:03:02 +0000
Subject: [PATCH] warn if unknown element type

---
 Geo/GModelIO_UNV.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Geo/GModelIO_UNV.cpp b/Geo/GModelIO_UNV.cpp
index 2bb70db709..19e649aa9f 100644
--- a/Geo/GModelIO_UNV.cpp
+++ b/Geo/GModelIO_UNV.cpp
@@ -38,6 +38,7 @@ int GModel::readUNV(const std::string &name)
       int record = 0;
       sscanf(buffer, "%d", &record);
       if(record == 2411){ // nodes
+        Msg::Info("Reading nodes");
         while(fgets(buffer, sizeof(buffer), fp)){
           if(!strncmp(buffer, "    -1", 6)) break;
           int num, dum;
@@ -51,6 +52,8 @@ int GModel::readUNV(const std::string &name)
         }
       }
       else if(record == 2412){ // elements
+        Msg::Info("Reading elements");
+        std::map<int, int> warn;
         while(fgets(buffer, sizeof(buffer), fp)){
           if(strlen(buffer) < 3) continue; // possible line ending after last fscanf
           if(!strncmp(buffer, "    -1", 6)) break;
@@ -154,6 +157,10 @@ int GModel::readUNV(const std::string &name)
                             vertices[10], vertices[14], vertices[12], num));
             dim = 3;
             break;
+          default:
+            if(warn[type]++ == 1)
+              Msg::Warning("Skipping unknown type of element %d", type);
+            break;
           }
 
           if(dim >= 0 && physical && (!physicals[dim].count(elementary) ||
-- 
GitLab