---
name: "PathCompactPathExA"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/PathCompactPathExA"
---

# PathCompactPathExA(3w)

## NAME

**PathCompactPathExA** (SHLWAPI.@)

## SYNOPSIS

BOOL PathCompactPathExA\
  (\
   LPSTR  *lpszDest*,\
   LPCSTR *lpszPath*,\
   UINT   *cchMax*,\
   DWORD  *dwFlags*\
  )

## DESCRIPTION

Compact a path into a given number of characters.

## PARAMS

*lpszDest* **\[Out\]**  Destination for compacted path.

*lpszPath* **\[In\]**  Source path.

*cchMax* **\[In\]**  Maximum size of compacted path.

*dwFlags* **\[In\]**  Reserved.

## RETURNS

**Success:** **TRUE**. The compacted path is written to *lpszDest*.

**Failure:** **FALSE**. *lpszPath* is undefined.

## NOTES

If *cchMax* is given as **0**, *lpszDest* will still be **NUL** terminated.

The Win32 version of this function contains a bug: When *cchMax* == **7**, 8 bytes will be written to *lpszDest*. This bug is fixed in the Wine implementation.

Some relative paths will be different when *cchMax* == **5** or **6.** This occurs because Win32 will insert a **"**

## IMPLEMENTATION

**Declared in "shlwapi.h"**.

Implemented in **"dlls/shlwapi/path.c"**.

Debug channel **"shell"**.
