Implement PathGetShortPathA/W and change its prototype to match the
documentation on MSDN.

diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index a051663..3cb349b 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -236,29 +236,41 @@
 /*************************************************************************
  * PathGetShortPathA [internal]
  */
-LPSTR WINAPI PathGetShortPathA(LPSTR lpszPath)
+static void PathGetShortPathA(LPSTR pszPath)
 {
-	FIXME("%s stub\n", lpszPath);
-	return NULL;
+	CHAR path[MAX_PATH];
+
+	TRACE("%s\n", pszPath);
+
+	if (GetShortPathNameA(pszPath, path, MAX_PATH))
+	{
+	  lstrcpyA(pszPath, path);
+	}
 }
 
 /*************************************************************************
  * PathGetShortPathW [internal]
  */
-LPWSTR WINAPI PathGetShortPathW(LPWSTR lpszPath)
+static void PathGetShortPathW(LPWSTR pszPath)
 {
-	FIXME("%s stub\n", debugstr_w(lpszPath));
-	return NULL;
+	WCHAR path[MAX_PATH];
+
+	TRACE("%s\n", debugstr_w(pszPath));
+
+	if (GetShortPathNameW(pszPath, path, MAX_PATH))
+	{
+	  lstrcpyW(pszPath, path);
+	}
 }
 
 /*************************************************************************
  * PathGetShortPath [SHELL32.92]
  */
-LPVOID WINAPI PathGetShortPathAW(LPVOID lpszPath)
+VOID WINAPI PathGetShortPathAW(LPVOID pszPath)
 {
 	if(SHELL_OsIsUnicode())
-	  return PathGetShortPathW(lpszPath);
-	return PathGetShortPathA(lpszPath);
+	  PathGetShortPathW(pszPath);
+	PathGetShortPathA(pszPath);
 }
 
 /*************************************************************************
diff --git a/dlls/shell32/undocshell.h b/dlls/shell32/undocshell.h
index d1af697..86224ed 100644
--- a/dlls/shell32/undocshell.h
+++ b/dlls/shell32/undocshell.h
@@ -544,8 +544,6 @@
 
 BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath);
 
-LPVOID WINAPI PathGetShortPathAW(LPVOID lpszPath);
-
 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
 
 VOID  WINAPI PathQuoteSpacesAW(LPVOID path);
diff --git a/include/shlobj.h b/include/shlobj.h
index 4cbafd1..f626a58 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -841,6 +841,11 @@
 DECL_WINELIB_TYPE_AW(FILEGROUPDESCRIPTOR)
 DECL_WINELIB_TYPE_AW(LPFILEGROUPDESCRIPTOR)
 
+/****************************************************************************
+ * Path Manipulation Routines
+ */
+VOID WINAPI PathGetShortPath(LPWSTR pszPath);
+
 #include <poppack.h>
 
 /*****************************************************************************