[Mingw-w64-public] [PATCH 1/6] string_s.h/wchar_s.h: Added wcsnlen_s implementation.

2014-08-19 Thread Jacek Caban
---
 mingw-w64-headers/crt/sec_api/string_s.h | 3 +++
 mingw-w64-headers/crt/sec_api/wchar_s.h  | 3 +++
 2 files changed, 6 insertions(+)


diff --git a/mingw-w64-headers/crt/sec_api/string_s.h b/mingw-w64-headers/crt/sec_api/string_s.h
index 34d1c99..4b10820 100644
--- a/mingw-w64-headers/crt/sec_api/string_s.h
+++ b/mingw-w64-headers/crt/sec_api/string_s.h
@@ -60,6 +60,9 @@ extern "C" {
   _CRTIMP errno_t __cdecl _wcsset_s_l(wchar_t *_Str,size_t _SizeInChars,unsigned int _Val,_locale_t _Locale);
   _CRTIMP errno_t __cdecl _wcsnset_s_l(wchar_t *_Str,size_t _SizeInChars,unsigned int _Val, size_t _Count,_locale_t _Locale);
 
+  static inline size_t __cdecl wcsnlen_s(const wchar_t * _src, size_t _count) {
+return _src ? wcsnlen(_src, _count) : 0;
+  }
 #endif
 
 #ifndef _MEMORY_S_DEFINED
diff --git a/mingw-w64-headers/crt/sec_api/wchar_s.h b/mingw-w64-headers/crt/sec_api/wchar_s.h
index fc8fc4d..f9fc6ad 100644
--- a/mingw-w64-headers/crt/sec_api/wchar_s.h
+++ b/mingw-w64-headers/crt/sec_api/wchar_s.h
@@ -130,6 +130,9 @@ extern "C" {
   _CRTIMP errno_t __cdecl _wcsset_s_l(wchar_t *_Str,size_t _SizeInChars,unsigned int _Val,_locale_t _Locale);
   _CRTIMP errno_t __cdecl _wcsnset_s_l(wchar_t *_Str,size_t _SizeInChars,unsigned int _Val, size_t _Count,_locale_t _Locale);
 
+  static inline size_t __cdecl wcsnlen_s(const wchar_t * _src, size_t _count) {
+return _src ? wcsnlen(_src, _count) : 0;
+  }
 #endif
 
 #ifndef _WTIME_S_DEFINED

--
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH 1/6] string_s.h/wchar_s.h: Added wcsnlen_s implementation.

2014-08-19 Thread Kai Tietz
Hmm, this patch looks to me not 100% ok.

Making functions static inline seems to be not the proper thing to do
here AFAICS.  This will lead to warning for cases those functions
aren't used.  So I would think that attribute unused is missing here.
Additionally the 'inline' looks to me bogus.  Either it should be
"extern inline", or static with attribute unused.

Kai

2014-08-19 14:02 GMT+02:00 Jacek Caban :
> ---
>  mingw-w64-headers/crt/sec_api/string_s.h | 3 +++
>  mingw-w64-headers/crt/sec_api/wchar_s.h  | 3 +++
>  2 files changed, 6 insertions(+)
>
>
>
> --
>
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

--
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH 1/6] string_s.h/wchar_s.h: Added wcsnlen_s implementation.

2014-08-19 Thread Jacek Caban
OK, I pushed it with "extern inline" declaration.

Thanks for reviews,
Jacek

On 08/19/14 15:38, Kai Tietz wrote:
> Hmm, this patch looks to me not 100% ok.
>
> Making functions static inline seems to be not the proper thing to do
> here AFAICS.  This will lead to warning for cases those functions
> aren't used.  So I would think that attribute unused is missing here.
> Additionally the 'inline' looks to me bogus.  Either it should be
> "extern inline", or static with attribute unused.
>
> Kai
>
> 2014-08-19 14:02 GMT+02:00 Jacek Caban :
>> ---
>>  mingw-w64-headers/crt/sec_api/string_s.h | 3 +++
>>  mingw-w64-headers/crt/sec_api/wchar_s.h  | 3 +++
>>  2 files changed, 6 insertions(+)
>>
>>
>>
>> --
>>
>> ___
>> Mingw-w64-public mailing list
>> Mingw-w64-public@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>>
> --
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


--
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH 1/6] string_s.h/wchar_s.h: Added wcsnlen_s implementation.

2014-08-20 Thread NAKAI Yuta



> Date: Tue, 19 Aug 2014 15:53:11 +0200
> From: ja...@codeweavers.com
> To: mingw-w64-public@lists.sourceforge.net
> Subject: Re: [Mingw-w64-public] [PATCH 1/6] string_s.h/wchar_s.h: Added 
> wcsnlen_s implementation.
>
> OK, I pushed it with "extern inline" declaration.
>

If my memory is correct, when -std=gnu99/-std=c99 is specified, "extern inline" 
doesn't

get rid of function definition. (e.g. Building GCC will probably be failed.)

Therefore, we should use static with attribute unused.


Yuta



> Thanks for reviews,
> Jacek
>
> On 08/19/14 15:38, Kai Tietz wrote:
>> Hmm, this patch looks to me not 100% ok.
>>
>> Making functions static inline seems to be not the proper thing to do
>> here AFAICS. This will lead to warning for cases those functions
>> aren't used. So I would think that attribute unused is missing here.
>> Additionally the 'inline' looks to me bogus. Either it should be
>> "extern inline", or static with attribute unused.
>>
>> Kai
>>
>> 2014-08-19 14:02 GMT+02:00 Jacek Caban :
>>> ---
>>> mingw-w64-headers/crt/sec_api/string_s.h | 3 +++
>>> mingw-w64-headers/crt/sec_api/wchar_s.h | 3 +++
>>> 2 files changed, 6 insertions(+)
>>>
>>>
>>>
>>> --
>>>
>>> ___
>>> Mingw-w64-public mailing list
>>> Mingw-w64-public@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>>>
>> --
>> ___
>> Mingw-w64-public mailing list
>> Mingw-w64-public@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
>
> --
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public 
>   
--
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public