[PATCH 06/12] qga: fix missing static and prototypes windows warnings

Pierrick Bouvier posted 12 patches 3 weeks, 2 days ago
Only 11 patches received!
[PATCH 06/12] qga: fix missing static and prototypes windows warnings
Posted by Pierrick Bouvier 3 weeks, 2 days ago
Reported by clang++, but not by g++.

../qga/vss-win32/provider.cpp:48:6: error: no previous prototype for function 'LockModule' [-Werror,-Wmissing-prototypes]
   48 | void LockModule(BOOL lock)
      |      ^
../qga/vss-win32/provider.cpp:48:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   48 | void LockModule(BOOL lock)
      | ^
      | static
../qga/vss-win32/provider.cpp:531:13: error: no previous prototype for function 'DllMain' [-Werror,-Wmissing-prototypes]
  531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved)
      |             ^
../qga/vss-win32/provider.cpp:531:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
  531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved)
      | ^
      | static

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 qga/vss-win32/install.cpp   | 6 +++++-
 qga/vss-win32/provider.cpp  | 5 ++++-
 qga/vss-win32/requester.cpp | 8 ++++----
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp
index 84944133f79..5cea5bcf747 100644
--- a/qga/vss-win32/install.cpp
+++ b/qga/vss-win32/install.cpp
@@ -39,7 +39,7 @@ const GUID CLSID_WbemLocator = { 0x4590f811, 0x1d3a, 0x11d0,
 const GUID IID_IWbemLocator = { 0xdc12a687, 0x737f, 0x11cf,
     {0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} };
 
-void errmsg(DWORD err, const char *text)
+static void errmsg(DWORD err, const char *text)
 {
     /*
      * `text' contains function call statement when errmsg is called via chk().
@@ -242,6 +242,7 @@ out:
 }
 
 /* Unregister this module from COM+ Applications Catalog */
+STDAPI COMUnregister(void);
 STDAPI COMUnregister(void)
 {
     qga_debug_begin;
@@ -256,6 +257,7 @@ out:
 }
 
 /* Register this module to COM+ Applications Catalog */
+STDAPI COMRegister(void);
 STDAPI COMRegister(void)
 {
     qga_debug_begin;
@@ -380,11 +382,13 @@ out:
     return hr;
 }
 
+STDAPI_(void) CALLBACK DLLCOMRegister(HWND, HINSTANCE, LPSTR, int);
 STDAPI_(void) CALLBACK DLLCOMRegister(HWND, HINSTANCE, LPSTR, int)
 {
     COMRegister();
 }
 
+STDAPI_(void) CALLBACK DLLCOMUnregister(HWND, HINSTANCE, LPSTR, int);
 STDAPI_(void) CALLBACK DLLCOMUnregister(HWND, HINSTANCE, LPSTR, int)
 {
     COMUnregister();
diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp
index cc72e5ef1b9..a102a23fbf1 100644
--- a/qga/vss-win32/provider.cpp
+++ b/qga/vss-win32/provider.cpp
@@ -45,7 +45,7 @@ const IID IID_IVssEnumObject = { 0xAE1C7110, 0x2F60, 0x11d3,
     {0x8A, 0x39, 0x00, 0xC0, 0x4F, 0x72, 0xD8, 0xE3} };
 
 
-void LockModule(BOOL lock)
+static void LockModule(BOOL lock)
 {
     if (lock) {
         InterlockedIncrement(&g_nComObjsInUse);
@@ -527,6 +527,9 @@ STDAPI DllCanUnloadNow()
     return g_nComObjsInUse == 0 ? S_OK : S_FALSE;
 }
 
+EXTERN_C
+BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved);
+
 EXTERN_C
 BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved)
 {
diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp
index 9884c65e707..4401d55e3a4 100644
--- a/qga/vss-win32/requester.cpp
+++ b/qga/vss-win32/requester.cpp
@@ -254,8 +254,8 @@ out:
     qga_debug_end;
 }
 
-DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR valueName,
-                          DWORD defaultData)
+static DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR valueName,
+                                 DWORD defaultData)
 {
     qga_debug_begin;
 
@@ -272,12 +272,12 @@ DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR valueName,
     return dwordData;
 }
 
-bool is_valid_vss_backup_type(VSS_BACKUP_TYPE vssBT)
+static bool is_valid_vss_backup_type(VSS_BACKUP_TYPE vssBT)
 {
     return (vssBT > VSS_BT_UNDEFINED && vssBT < VSS_BT_OTHER);
 }
 
-VSS_BACKUP_TYPE get_vss_backup_type(
+static VSS_BACKUP_TYPE get_vss_backup_type(
     VSS_BACKUP_TYPE defaultVssBT = DEFAULT_VSS_BACKUP_TYPE)
 {
     qga_debug_begin;
-- 
2.39.5
Re: [PATCH 06/12] qga: fix missing static and prototypes windows warnings
Posted by Konstantin Kostiuk 3 weeks, 2 days ago
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>

On Thu, Oct 31, 2024 at 6:05 AM Pierrick Bouvier <
pierrick.bouvier@linaro.org> wrote:

> Reported by clang++, but not by g++.
>
> ../qga/vss-win32/provider.cpp:48:6: error: no previous prototype for
> function 'LockModule' [-Werror,-Wmissing-prototypes]
>    48 | void LockModule(BOOL lock)
>       |      ^
> ../qga/vss-win32/provider.cpp:48:1: note: declare 'static' if the function
> is not intended to be used outside of this translation unit
>    48 | void LockModule(BOOL lock)
>       | ^
>       | static
> ../qga/vss-win32/provider.cpp:531:13: error: no previous prototype for
> function 'DllMain' [-Werror,-Wmissing-prototypes]
>   531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
> lpReserved)
>       |             ^
> ../qga/vss-win32/provider.cpp:531:1: note: declare 'static' if the
> function is not intended to be used outside of this translation unit
>   531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
> lpReserved)
>       | ^
>       | static
>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>  qga/vss-win32/install.cpp   | 6 +++++-
>  qga/vss-win32/provider.cpp  | 5 ++++-
>  qga/vss-win32/requester.cpp | 8 ++++----
>  3 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp
> index 84944133f79..5cea5bcf747 100644
> --- a/qga/vss-win32/install.cpp
> +++ b/qga/vss-win32/install.cpp
> @@ -39,7 +39,7 @@ const GUID CLSID_WbemLocator = { 0x4590f811, 0x1d3a,
> 0x11d0,
>  const GUID IID_IWbemLocator = { 0xdc12a687, 0x737f, 0x11cf,
>      {0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} };
>
> -void errmsg(DWORD err, const char *text)
> +static void errmsg(DWORD err, const char *text)
>  {
>      /*
>       * `text' contains function call statement when errmsg is called via
> chk().
> @@ -242,6 +242,7 @@ out:
>  }
>
>  /* Unregister this module from COM+ Applications Catalog */
> +STDAPI COMUnregister(void);
>  STDAPI COMUnregister(void)
>  {
>      qga_debug_begin;
> @@ -256,6 +257,7 @@ out:
>  }
>
>  /* Register this module to COM+ Applications Catalog */
> +STDAPI COMRegister(void);
>  STDAPI COMRegister(void)
>  {
>      qga_debug_begin;
> @@ -380,11 +382,13 @@ out:
>      return hr;
>  }
>
> +STDAPI_(void) CALLBACK DLLCOMRegister(HWND, HINSTANCE, LPSTR, int);
>  STDAPI_(void) CALLBACK DLLCOMRegister(HWND, HINSTANCE, LPSTR, int)
>  {
>      COMRegister();
>  }
>
> +STDAPI_(void) CALLBACK DLLCOMUnregister(HWND, HINSTANCE, LPSTR, int);
>  STDAPI_(void) CALLBACK DLLCOMUnregister(HWND, HINSTANCE, LPSTR, int)
>  {
>      COMUnregister();
> diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp
> index cc72e5ef1b9..a102a23fbf1 100644
> --- a/qga/vss-win32/provider.cpp
> +++ b/qga/vss-win32/provider.cpp
> @@ -45,7 +45,7 @@ const IID IID_IVssEnumObject = { 0xAE1C7110, 0x2F60,
> 0x11d3,
>      {0x8A, 0x39, 0x00, 0xC0, 0x4F, 0x72, 0xD8, 0xE3} };
>
>
> -void LockModule(BOOL lock)
> +static void LockModule(BOOL lock)
>  {
>      if (lock) {
>          InterlockedIncrement(&g_nComObjsInUse);
> @@ -527,6 +527,9 @@ STDAPI DllCanUnloadNow()
>      return g_nComObjsInUse == 0 ? S_OK : S_FALSE;
>  }
>
> +EXTERN_C
> +BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
> lpReserved);
> +
>  EXTERN_C
>  BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved)
>  {
> diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp
> index 9884c65e707..4401d55e3a4 100644
> --- a/qga/vss-win32/requester.cpp
> +++ b/qga/vss-win32/requester.cpp
> @@ -254,8 +254,8 @@ out:
>      qga_debug_end;
>  }
>
> -DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR valueName,
> -                          DWORD defaultData)
> +static DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR
> valueName,
> +                                 DWORD defaultData)
>  {
>      qga_debug_begin;
>
> @@ -272,12 +272,12 @@ DWORD get_reg_dword_value(HKEY baseKey, LPCSTR
> subKey, LPCSTR valueName,
>      return dwordData;
>  }
>
> -bool is_valid_vss_backup_type(VSS_BACKUP_TYPE vssBT)
> +static bool is_valid_vss_backup_type(VSS_BACKUP_TYPE vssBT)
>  {
>      return (vssBT > VSS_BT_UNDEFINED && vssBT < VSS_BT_OTHER);
>  }
>
> -VSS_BACKUP_TYPE get_vss_backup_type(
> +static VSS_BACKUP_TYPE get_vss_backup_type(
>      VSS_BACKUP_TYPE defaultVssBT = DEFAULT_VSS_BACKUP_TYPE)
>  {
>      qga_debug_begin;
> --
> 2.39.5
>
>
Re: [PATCH 06/12] qga: fix missing static and prototypes windows warnings
Posted by Konstantin Kostiuk 2 weeks, 5 days ago
Hi Pierrick,

I got this patch in my PULL with QGA patches.

Best Regards,
Konstantin Kostiuk.


On Thu, Oct 31, 2024 at 3:32 PM Konstantin Kostiuk <kkostiuk@redhat.com>
wrote:

> Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
>
> On Thu, Oct 31, 2024 at 6:05 AM Pierrick Bouvier <
> pierrick.bouvier@linaro.org> wrote:
>
>> Reported by clang++, but not by g++.
>>
>> ../qga/vss-win32/provider.cpp:48:6: error: no previous prototype for
>> function 'LockModule' [-Werror,-Wmissing-prototypes]
>>    48 | void LockModule(BOOL lock)
>>       |      ^
>> ../qga/vss-win32/provider.cpp:48:1: note: declare 'static' if the
>> function is not intended to be used outside of this translation unit
>>    48 | void LockModule(BOOL lock)
>>       | ^
>>       | static
>> ../qga/vss-win32/provider.cpp:531:13: error: no previous prototype for
>> function 'DllMain' [-Werror,-Wmissing-prototypes]
>>   531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
>> lpReserved)
>>       |             ^
>> ../qga/vss-win32/provider.cpp:531:1: note: declare 'static' if the
>> function is not intended to be used outside of this translation unit
>>   531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
>> lpReserved)
>>       | ^
>>       | static
>>
>> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
>> ---
>>  qga/vss-win32/install.cpp   | 6 +++++-
>>  qga/vss-win32/provider.cpp  | 5 ++++-
>>  qga/vss-win32/requester.cpp | 8 ++++----
>>  3 files changed, 13 insertions(+), 6 deletions(-)
>>
>> diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp
>> index 84944133f79..5cea5bcf747 100644
>> --- a/qga/vss-win32/install.cpp
>> +++ b/qga/vss-win32/install.cpp
>> @@ -39,7 +39,7 @@ const GUID CLSID_WbemLocator = { 0x4590f811, 0x1d3a,
>> 0x11d0,
>>  const GUID IID_IWbemLocator = { 0xdc12a687, 0x737f, 0x11cf,
>>      {0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} };
>>
>> -void errmsg(DWORD err, const char *text)
>> +static void errmsg(DWORD err, const char *text)
>>  {
>>      /*
>>       * `text' contains function call statement when errmsg is called via
>> chk().
>> @@ -242,6 +242,7 @@ out:
>>  }
>>
>>  /* Unregister this module from COM+ Applications Catalog */
>> +STDAPI COMUnregister(void);
>>  STDAPI COMUnregister(void)
>>  {
>>      qga_debug_begin;
>> @@ -256,6 +257,7 @@ out:
>>  }
>>
>>  /* Register this module to COM+ Applications Catalog */
>> +STDAPI COMRegister(void);
>>  STDAPI COMRegister(void)
>>  {
>>      qga_debug_begin;
>> @@ -380,11 +382,13 @@ out:
>>      return hr;
>>  }
>>
>> +STDAPI_(void) CALLBACK DLLCOMRegister(HWND, HINSTANCE, LPSTR, int);
>>  STDAPI_(void) CALLBACK DLLCOMRegister(HWND, HINSTANCE, LPSTR, int)
>>  {
>>      COMRegister();
>>  }
>>
>> +STDAPI_(void) CALLBACK DLLCOMUnregister(HWND, HINSTANCE, LPSTR, int);
>>  STDAPI_(void) CALLBACK DLLCOMUnregister(HWND, HINSTANCE, LPSTR, int)
>>  {
>>      COMUnregister();
>> diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp
>> index cc72e5ef1b9..a102a23fbf1 100644
>> --- a/qga/vss-win32/provider.cpp
>> +++ b/qga/vss-win32/provider.cpp
>> @@ -45,7 +45,7 @@ const IID IID_IVssEnumObject = { 0xAE1C7110, 0x2F60,
>> 0x11d3,
>>      {0x8A, 0x39, 0x00, 0xC0, 0x4F, 0x72, 0xD8, 0xE3} };
>>
>>
>> -void LockModule(BOOL lock)
>> +static void LockModule(BOOL lock)
>>  {
>>      if (lock) {
>>          InterlockedIncrement(&g_nComObjsInUse);
>> @@ -527,6 +527,9 @@ STDAPI DllCanUnloadNow()
>>      return g_nComObjsInUse == 0 ? S_OK : S_FALSE;
>>  }
>>
>> +EXTERN_C
>> +BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
>> lpReserved);
>> +
>>  EXTERN_C
>>  BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID
>> lpReserved)
>>  {
>> diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp
>> index 9884c65e707..4401d55e3a4 100644
>> --- a/qga/vss-win32/requester.cpp
>> +++ b/qga/vss-win32/requester.cpp
>> @@ -254,8 +254,8 @@ out:
>>      qga_debug_end;
>>  }
>>
>> -DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR valueName,
>> -                          DWORD defaultData)
>> +static DWORD get_reg_dword_value(HKEY baseKey, LPCSTR subKey, LPCSTR
>> valueName,
>> +                                 DWORD defaultData)
>>  {
>>      qga_debug_begin;
>>
>> @@ -272,12 +272,12 @@ DWORD get_reg_dword_value(HKEY baseKey, LPCSTR
>> subKey, LPCSTR valueName,
>>      return dwordData;
>>  }
>>
>> -bool is_valid_vss_backup_type(VSS_BACKUP_TYPE vssBT)
>> +static bool is_valid_vss_backup_type(VSS_BACKUP_TYPE vssBT)
>>  {
>>      return (vssBT > VSS_BT_UNDEFINED && vssBT < VSS_BT_OTHER);
>>  }
>>
>> -VSS_BACKUP_TYPE get_vss_backup_type(
>> +static VSS_BACKUP_TYPE get_vss_backup_type(
>>      VSS_BACKUP_TYPE defaultVssBT = DEFAULT_VSS_BACKUP_TYPE)
>>  {
>>      qga_debug_begin;
>> --
>> 2.39.5
>>
>>
Re: [PATCH 06/12] qga: fix missing static and prototypes windows warnings
Posted by Pierrick Bouvier 2 weeks, 4 days ago
Hi Konstantin,

On 11/4/24 05:43, Konstantin Kostiuk wrote:
> Hi Pierrick,
> 
> I got this patch in my PULL with QGA patches.
> 
> Best Regards,
> Konstantin Kostiuk.
> 

Thanks for pulling those two patches before the upcoming release.

Regards,
Pierrick
Re: [PATCH 06/12] qga: fix missing static and prototypes windows warnings
Posted by Philippe Mathieu-Daudé 3 weeks, 2 days ago
On 31/10/24 01:04, Pierrick Bouvier wrote:
> Reported by clang++, but not by g++.
> 
> ../qga/vss-win32/provider.cpp:48:6: error: no previous prototype for function 'LockModule' [-Werror,-Wmissing-prototypes]
>     48 | void LockModule(BOOL lock)
>        |      ^
> ../qga/vss-win32/provider.cpp:48:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
>     48 | void LockModule(BOOL lock)
>        | ^
>        | static
> ../qga/vss-win32/provider.cpp:531:13: error: no previous prototype for function 'DllMain' [-Werror,-Wmissing-prototypes]
>    531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved)
>        |             ^
> ../qga/vss-win32/provider.cpp:531:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
>    531 | BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved)
>        | ^
>        | static
> 
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   qga/vss-win32/install.cpp   | 6 +++++-
>   qga/vss-win32/provider.cpp  | 5 ++++-
>   qga/vss-win32/requester.cpp | 8 ++++----
>   3 files changed, 13 insertions(+), 6 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>