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: }