From c435c29339cf4eb37ee5bcc1329acab83a7a7e56 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan_lang@yahoo.com>
Date: Tue, 2 Sep 2003 00:53:46 +0000
Subject: [PATCH] Fix FormatMessage when FORMAT_MESSAGE_FROM_HMODULE is
 specified and lpSource is NULL.  Make indenting consistent too.

---
 dlls/kernel/format_msg.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/dlls/kernel/format_msg.c b/dlls/kernel/format_msg.c
index 42ab1095b75..560ee374b11 100644
--- a/dlls/kernel/format_msg.c
+++ b/dlls/kernel/format_msg.c
@@ -163,12 +163,14 @@ DWORD WINAPI FormatMessageA(
 
         if (dwFlags & FORMAT_MESSAGE_FROM_HMODULE)
         {
-           bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
+            if (!hmodule)
+                hmodule = GetModuleHandleW(NULL);
+            bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
         }
         if ((dwFlags & FORMAT_MESSAGE_FROM_SYSTEM) && (!bufsize))
         {
-           hmodule = GetModuleHandleA("kernel32");
-           bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
+            hmodule = GetModuleHandleA("kernel32");
+            bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
         }
 
         if (!bufsize) {
@@ -388,12 +390,14 @@ DWORD WINAPI FormatMessageW(
 
         if (dwFlags & FORMAT_MESSAGE_FROM_HMODULE)
         {
-           bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
+            if (!hmodule)
+                hmodule = GetModuleHandleW(NULL);
+            bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
         }
         if ((dwFlags & FORMAT_MESSAGE_FROM_SYSTEM) && (!bufsize))
         {
-           hmodule = GetModuleHandleA("kernel32");
-           bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
+            hmodule = GetModuleHandleA("kernel32");
+            bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100);
         }
 
         if (!bufsize) {
-- 
GitLab