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: /*@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: }