Actual source code: pgname.c

      1: #include <petsc/private/petscimpl.h>

      3: /*@
      4:   PetscObjectGetName - Gets a string name associated with a PETSc object.

      6:   Not Collective unless `obj` has not yet been named

      8:   Input Parameters:
      9: + obj  - the PETSc variable. It must be cast with a (`PetscObject`), for example,
     10:          `PetscObjectGetName`((`PetscObject`)mat,&name);
     11: - name - the name associated with `obj`, do not free

     13:   Level: intermediate

     15:   Note:
     16:   Calls `PetscObjectName()` if a name has not yet been provided to the object.

     18: .seealso: `PetscObjectSetName()`, `PetscObjectName()`, `PetscObject`, `PetscObjectGetId()`
     19: @*/
     20: PetscErrorCode PetscObjectGetName(PetscObject obj, const char *name[])
     21: {
     22:   PetscFunctionBegin;
     24:   PetscAssertPointer(name, 2);
     25:   PetscCall(PetscObjectName(obj));
     26:   *name = obj->name;
     27:   PetscFunctionReturn(PETSC_SUCCESS);
     28: }