Actual source code: aodataalias.c

  1: /*$Id: aodataalias.c,v 1.8 2001/03/23 23:24:50 balay Exp $*/

 3:  #include src/dm/ao/aoimpl.h

  5: #undef __FUNCT__  
  7: /*@C
  8:     AODataAddAlias - Allows accessing a key or field using an alternative
  9:           name.

 11:     Not collective

 13:     Input Parameters:
 14: +   ao - the AOData database
 15: .   alias - substitute name that may be used
 16: -   name - name the alias replaces

 18:    Level: intermediate

 20: .keywords: aliases, keys, fields

 22: .seealso:  
 23: @*/
 24: int AODataAddAlias(AOData ao,char *alias,char *name)
 25: {
 26:   AODataAlias *aoalias,*t;
 27:   int         ierr;


 32:   ierr          = PetscNew(AODataAlias,&aoalias);
 33:   ierr          = PetscStrallocpy(alias,&aoalias->alias);
 34:   ierr          = PetscStrallocpy(name,&aoalias->name);
 35:   aoalias->next = PETSC_NULL;

 37:   if (!ao->aliases) {
 38:     ao->aliases = aoalias;
 39:   } else {
 40:     t = ao->aliases;
 41:     while (t->next) t = t->next;
 42:     t->next = aoalias;
 43:   }

 45:   return(0);
 46: }