Skip to content

Commit

Permalink
Better error message for missing tag lookup.
Browse files Browse the repository at this point in the history
  • Loading branch information
jedbrown committed Jun 14, 2011
1 parent 7d3aec6 commit c889247
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion src/fs/mesh/interface/mesh.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,19 @@ dErr dMeshGetTaggedSet(dMesh mesh,dMeshTag tag,const void *value,dMeshESH *set)
dValidPointer(set,4);
*set = 0;
iMesh_getEntSetsByTagsRec(mesh->mi,mesh->root,&tag,value?(const char*const*)&value:NULL,1,0,&set,&alloc,&size,&ierr);dICHK(mesh->mi,ierr);
if (size != 1) dERROR(PETSC_COMM_SELF,PETSC_ERR_LIB,"Got %d sets, but expected only one",size);
if (size != 1) {
char name[dSTR_LEN],val[dSTR_LEN] = "unknown";
dIInt ttype;
iMesh_getTagName(mesh->mi,tag,name,&ierr,sizeof name);dICHK(mesh->mi,ierr);
iMesh_getTagType(mesh->mi,tag,&ttype,&ierr);dICHK(mesh->mi,ierr);
switch (ttype) {
case iBase_INTEGER: snprintf(val,sizeof val,"INTEGER %d",*(int*)value); break;
case iBase_DOUBLE: snprintf(val,sizeof val,"DOUBLE %e",*(double*)value); break;
default:
snprintf(val,sizeof val,"UNKNOWN");
}
dERROR(PETSC_COMM_SELF,PETSC_ERR_LIB,"Got %d sets when searching for tag %s, but expected exactly one",size,val);
}
dFunctionReturn(0);
}

Expand Down

0 comments on commit c889247

Please sign in to comment.