1: /*$Id: aodataalias.c,v 1.8 2001/03/23 23:24:50 balay Exp $*/ 3: #include src/dm/ao/aoimpl.h 5: /*@C 6: AODataAddAlias - Allows accessing a key or field using an alternative 7: name. 9: Not collective 11: Input Parameters: 12: + ao - the AOData database 13: . alias - substitute name that may be used 14: - name - name the alias replaces 16: Level: intermediate 18: .keywords: aliases, keys, fields 20: .seealso: 21: @*/ 22: int AODataAddAlias(AOData ao,char *alias,char *name) 23: { 24: AODataAlias *aoalias,*t; 25: int ierr; 30: ierr = PetscNew(AODataAlias,&aoalias); 31: ierr = PetscStrallocpy(alias,&aoalias->alias); 32: ierr = PetscStrallocpy(name,&aoalias->name); 33: aoalias->next = PETSC_NULL; 35: if (!ao->aliases) { 36: ao->aliases = aoalias; 37: } else { 38: t = ao->aliases; 39: while (t->next) t = t->next; 40: t->next = aoalias; 41: } 43: return(0); 44: }