From 5fdd421b7b119a8b53afa75d61a62b77bd70fb87 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 16 Jun 2004 17:57:07 +0000 Subject: [PATCH] Do a default List_Create in List_CreateFromFile instead of returning NULL. (This fixes the problems in Plugins that assume that the element lists are all ready to be added into.) --- Common/Views.cpp | 16 +++++++++------- DataStr/List.cpp | 12 +++++++----- DataStr/List.h | 2 +- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/Common/Views.cpp b/Common/Views.cpp index 8e6d45c3a2..9a949c238c 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.123 2004-06-01 06:29:13 geuzaine Exp $ +// $Id: Views.cpp,v 1.124 2004-06-16 17:57:07 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -831,9 +831,11 @@ void ReadView(FILE *file, char *filename) v->DataSize = size; // Time values - v->Time = List_CreateFromFile(v->NbTimeStep, size, file, format, swap); + v->Time = List_CreateFromFile(v->NbTimeStep, 10, size, file, format, swap); -#define LL List_CreateFromFile(nb, size, file, format, swap) + // if nb==0, this still allocates a list (empty, but ready to be + // filled later, e.g. in a plugin) +#define LL List_CreateFromFile(nb, 100, size, file, format, swap) // Points nb = v->NbSP ? v->NbSP * (v->NbTimeStep + 3) : 0; @@ -903,12 +905,12 @@ void ReadView(FILE *file, char *filename) // Strings nb = v->NbT2 ? v->NbT2 * 4 : 0; - v->T2D = List_CreateFromFile(nb, size, file, format, swap); - v->T2C = List_CreateFromFile(t2l, sizeof(char), file, format, swap); + v->T2D = List_CreateFromFile(nb, 10, size, file, format, swap); + v->T2C = List_CreateFromFile(t2l, 10, sizeof(char), file, format, swap); nb = v->NbT3 ? v->NbT3 * 5 : 0; - v->T3D = List_CreateFromFile(nb, size, file, format, swap); - v->T3C = List_CreateFromFile(t3l, sizeof(char), file, format, swap); + v->T3D = List_CreateFromFile(nb, 10, size, file, format, swap); + v->T3C = List_CreateFromFile(t3l, 10, sizeof(char), file, format, swap); Msg(DEBUG, diff --git a/DataStr/List.cpp b/DataStr/List.cpp index c41069e7f1..f2ec9170fe 100644 --- a/DataStr/List.cpp +++ b/DataStr/List.cpp @@ -1,4 +1,4 @@ -// $Id: List.cpp,v 1.30 2004-05-18 20:51:31 geuzaine Exp $ +// $Id: List.cpp,v 1.31 2004-06-16 17:57:07 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -420,16 +420,18 @@ void swap_bytes(char *array, int size, int n) Free(x); } -List_T *List_CreateFromFile(int n, int size, FILE * file, int format, +List_T *List_CreateFromFile(int n, int incr, int size, FILE * file, int format, int swap) { int i; List_T *liste; - if(!n) - return NULL; + if(!n){ + liste = List_Create(incr, incr, size); + return liste; + } - liste = List_Create(n, 1, size); + liste = List_Create(n, incr, size); liste->n = n; switch (format) { case LIST_FORMAT_ASCII: diff --git a/DataStr/List.h b/DataStr/List.h index 1a872a160b..68d216b77d 100644 --- a/DataStr/List.h +++ b/DataStr/List.h @@ -69,7 +69,7 @@ void List_Reset(List_T *liste); void List_Action(List_T *liste, void (*action)(void *data, void *dummy)); void List_Action_Inverse(List_T *liste, void (*action)(void *data, void *dummy)); void List_Copy(List_T *a , List_T *b); -List_T *List_CreateFromFile(int n, int size, FILE *file, int format, int swap); +List_T *List_CreateFromFile(int n, int incr, int size, FILE *file, int format, int swap); void List_WriteToFile(List_T *liste, FILE *file, int format); #endif -- GitLab