Send MinGW-Notify mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.osdn.me/mailman/listinfo/mingw-notify
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of MinGW-Notify digest..."


Please do not reply to this notification; the sender address is unable to 
accept incoming e-mail.  If you wish to unsubscribe you can do so at 
https://lists.osdn.me/mailman/listinfo/mingw-notify.



Today's Topics:

   1. [mingw] #39687: wcsrtombs with NULL dest pointer doesn't
      ignore len parameter (MinGW Notification List)
   2. [mingw] #39687: wcsrtombs with NULL dest pointer doesn't
      ignore len parameter (MinGW Notification List)
   3. [mingw] #39687: wcsrtombs with NULL dest pointer doesn't
      ignore len parameter (MinGW Notification List)


----------------------------------------------------------------------

Message: 1
Date: Fri, 25 Oct 2019 16:12:57 +0900
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #39687: wcsrtombs with NULL dest
        pointer doesn't ignore len parameter
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#39687: wcsrtombs with NULL dest pointer doesn't ignore len parameter



  Open Date: 2019-10-20 02:38
Last Update: 2019-10-25 16:12

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/39687
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=39687

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2019-10-25 16:12 Updated by: gallickgunner

Comment:

Sorry about the delay but I think the site encppreference gives a perfect
example. Posting the code here,

#include <iostream>
#include <vector>
#include <string>
#include <cwchar>

void print_wide(const wchar_t* wstr)
{
    std::mbstate_t state = std::mbstate_t();
    std::size_t len = 1 + std::wcsrtombs(nullptr, &wstr, 0, &state);
    std::vector<char> mbstr(len);
    std::wcsrtombs(&mbstr[0], &wstr, mbstr.size(), &state);
    std::cout << "multibyte string: " << &mbstr[0] << '\n'
              << "Length, including '\\0': " << mbstr.size() << '\n';
}

int main()
{
    std::setlocale(LC_ALL, "");
    const wchar_t* wstr = L"A wstring-\u00df\u6c34\U0001d10b"; // or L"A 
wstring-ß水𝄋"
    print_wide(wstr);
}

So if Length is printed 1 it means the function doesn't work correctly.



---------------------------------------------------------------------
Ticket Status:

      Reporter: gallickgunner
         Owner: keith
          Type: Issues
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: WSL
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

I'm using MinGW-gcc-6.3.0. The wcsrtombs() function as mentioned in the docs on
cppreference should return the number of bytes that would have been written to
src. However it doesn't do so on my end. It seems the implementation doesn't
ignore the length parameter when dest is passed as NULL? A similar issue was
reported and presumably fixed for the Mingw-w64 on the sourceforge site
Currently working around by passing INT_MAX as the length parameter, so it
finishes within the limit and returns the size.

I apologize in advance if this is just an issue from my end or if any other
info is missing. First time submitting a ticket :)



-- 
Ticket information of MinGW - Minimalist GNU for Windows project
MinGW - Minimalist GNU for Windows Project is hosted on OSDN

Project URL: https://osdn.net/projects/mingw/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/mingw/ticket/39687
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=39687


------------------------------

Message: 2
Date: Fri, 25 Oct 2019 12:56:56 +0100
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #39687: wcsrtombs with NULL dest
        pointer doesn't ignore len parameter
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#39687: wcsrtombs with NULL dest pointer doesn't ignore len parameter



  Open Date: 2019-10-19 18:38
Last Update: 2019-10-25 12:56

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/39687
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=39687

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2019-10-25 12:56 Updated by: keith

Comment:

Reply To gallickgunner

    So if Length is printed 1 it means the function doesn't work correctly.

And, what should be printed, when the function is working correctly? That is
vital information, to make this a valid test case.



---------------------------------------------------------------------
Ticket Status:

      Reporter: gallickgunner
         Owner: keith
          Type: Issues
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: WSL
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

I'm using MinGW-gcc-6.3.0. The wcsrtombs() function as mentioned in the docs on
cppreference should return the number of bytes that would have been written to
src. However it doesn't do so on my end. It seems the implementation doesn't
ignore the length parameter when dest is passed as NULL? A similar issue was
reported and presumably fixed for the Mingw-w64 on the sourceforge site
Currently working around by passing INT_MAX as the length parameter, so it
finishes within the limit and returns the size.

I apologize in advance if this is just an issue from my end or if any other
info is missing. First time submitting a ticket :)



-- 
Ticket information of MinGW - Minimalist GNU for Windows project
MinGW - Minimalist GNU for Windows Project is hosted on OSDN

Project URL: https://osdn.net/projects/mingw/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/mingw/ticket/39687
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=39687


------------------------------

Message: 3
Date: Sat, 26 Oct 2019 03:04:07 +0900
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #39687: wcsrtombs with NULL dest
        pointer doesn't ignore len parameter
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#39687: wcsrtombs with NULL dest pointer doesn't ignore len parameter



  Open Date: 2019-10-20 02:38
Last Update: 2019-10-26 03:04

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/39687
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=39687

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2019-10-26 03:04 Updated by: gallickgunner

Comment:

Reply To keith

    Reply To gallickgunner

        So if Length is printed 1 it means the function doesn't work correctly.

    And, what should be printed, when the function is working correctly? That
    is vital information, to make this a valid test case.

Real sorry. I updated the code and replaced the string literal with fancy
characters with a simple "Hello". I'm not an expert at strings and encodings
but I think the number of characters of the previous string would depend on the
encoding used. As depending on the encoding the special characters can get
translated to different multibyte characters. encppreference used en_US.utf8
for the locale but it isn't available on all platforms. I think the simple
string Hello is gonna be converted to the same old 5 characters regardless of
the encoding. If I'm wrong do correct me, anyone.



---------------------------------------------------------------------
Ticket Status:

      Reporter: gallickgunner
         Owner: keith
          Type: Issues
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: WSL
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

I'm using MinGW-gcc-6.3.0. The wcsrtombs() function as mentioned in the docs on
cppreference should return the number of bytes that would have been written to
src. However it doesn't do so on my end. It seems the implementation doesn't
ignore the length parameter when dest is passed as NULL? A similar issue was
reported and presumably fixed for the Mingw-w64 on the sourceforge site
Currently working around by passing INT_MAX as the length parameter, so it
finishes within the limit and returns the size.

I apologize in advance if this is just an issue from my end or if any other
info is missing. First time submitting a ticket :)



-- 
Ticket information of MinGW - Minimalist GNU for Windows project
MinGW - Minimalist GNU for Windows Project is hosted on OSDN

Project URL: https://osdn.net/projects/mingw/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/mingw/ticket/39687
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=39687


------------------------------

Subject: Digest Footer

_______________________________________________
MinGW-Notify mailing list
[email protected]
https://lists.osdn.me/mailman/listinfo/mingw-notify


------------------------------

End of MinGW-Notify Digest, Vol 25, Issue 14
********************************************

Reply via email to