When a column is created, its data is initialized to the NA value of the
obitype
This commit is contained in:
@ -600,6 +600,7 @@ OBIDMS_column_p obi_create_column(OBIDMS_p dms,
|
||||
int column_dir_file_descriptor;
|
||||
size_t header_size;
|
||||
size_t data_size;
|
||||
size_t i, nb_elements;
|
||||
|
||||
new_column = NULL;
|
||||
|
||||
@ -730,6 +731,43 @@ OBIDMS_column_p obi_create_column(OBIDMS_p dms,
|
||||
|
||||
strncpy(header->name, column_name, OBIDMS_MAX_COLNAME);
|
||||
|
||||
// Fill the data with NA values
|
||||
nb_elements = nb_lines*nb_elements_per_line;
|
||||
switch (type) {
|
||||
case OBI_VOID: // TODO;
|
||||
break;
|
||||
|
||||
case OBI_INT: for (i=0;i<nb_elements;i++)
|
||||
{
|
||||
*(((obiint_t*) (new_column->data)) + i) = OBIInt_NA;
|
||||
}
|
||||
break;
|
||||
|
||||
case OBI_FLOAT: for (i=0;i<nb_elements;i++)
|
||||
{
|
||||
*(((obifloat_t*) (new_column->data)) + i) = OBIFloat_NA;
|
||||
}
|
||||
break;
|
||||
|
||||
case OBI_BOOL: for (i=0;i<nb_elements;i++)
|
||||
{
|
||||
*(((obibool_t*) (new_column->data)) + i) = OBIBool_NA;
|
||||
}
|
||||
break;
|
||||
|
||||
case OBI_CHAR: for (i=0;i<nb_elements;i++)
|
||||
{
|
||||
*(((obichar_t*) (new_column->data)) + i) = OBIChar_NA;
|
||||
}
|
||||
break;
|
||||
|
||||
case OBI_IDX: for (i=0;i<nb_elements;i++)
|
||||
{
|
||||
*(((obiidx_t*) (new_column->data)) + i) = OBIIdx_NA;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
free(column_file_name);
|
||||
close(column_file_descriptor);
|
||||
|
||||
|
Reference in New Issue
Block a user