---
name: "flattenlofig"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/flattenlofig"
---

# flattenlofig(3)

flatten a instance in a logical figure

## NAME

flattenlofig - flatten a instance in a logical figure

## SYNOPSYS

```
#include "mlo.h"
void flattenlofig(ptfig, insname, concat)
lofig_list ∗ptfig;
char ∗insname;
char concat;
```

## PARAMETERS

- *ptfig*

  Pointer to a logical figure

- *insname*

  Name of the instance to be flattened

- *concat*

  Name generation mode

## DESCRIPTION

**flattenlofig** flattens the instance called *insname* in the figure pointed to by *ptfig*. Flattening means incorporating the contents of the instance in the figure and removing it from its instance list.\
 the *concat* argument can take either the value **YES** in which case the name of the objects comming from the instance are named *insname'X'objectname*, where *'X'* is the caracter set int the [**MBK\_SEPAR**(1)](/MBK_SEPAR/1.md) environment variable, or the value **NO**, and then the object name remains inchanged. This is quite dangerous since name unicity is no more warrantied, and may cause the flatten to fail. See [**MBK\_SEPAR**(1)](/MBK_SEPAR/1.md), [**mbkenv**(3)](/mbkenv/3.md) and [**concatname**(3)](/concatname/3.md) for details.

## ERRORS

No errors can directly result from a call to **flattenlofig**, but since it uses many other mbk functions, it may be an error starting point.

## EXAMPLE

```
#include "mlo.h"
void flatten_na2_y_s(ptfig)
lofig_list ∗ptfig;
{
loins_list ∗pt;
	for (pt = ptfig->LOINS; pt; pt = pt->NEXT) /∗ scan instance list ∗/
		if (!strcmp(pt->FIGNAME, "na2_y"))
			flattenlofig(ptfig, pt->INSNAME, NO);
}
```

## SEE ALSO

**mbk**(1), [**mbkenv**(3)](/mbkenv/3.md), [**lofig**(3)](/lofig/3.md), [**addlofig**(3)](/addlofig/3.md), [**getlofig**(3)](/getlofig/3.md), [**dellofig**(3)](/dellofig/3.md), [**loadlofig**(3)](/loadlofig/3.md), [**savelofig**(3)](/savelofig/3.md), [**rflattenlofig**(3)](/rflattenlofig/3.md), [**MBK\_SEPAR**(1)](/MBK_SEPAR/1.md).
