You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
std.array.Appender needs a way to extend/add to the length of `data`. See the following use case:
```uint tryAppendFullPathNameImpl(const(wchar)* nullTerminatedPath, Appender!(wchar[]) builder){ import core.sys.windows.winbase : GetFullPathNameW; auto prefixLength = builder.data.length; for (;;) { const result = GetFullPathNameW(nullTerminatedPath, builder.capacity - prefixLength, builder.data.ptr + prefixLength, null); if (result <= (builder.capacity - prefixLength)) { // NO WAY TO DO THIS: //builder.overrideDataLength(prefixLength + result); return result; } builder.reserve(prefixLength + result); }}```
What's happening here is we are passing the Appender array to a C function that populates the array with our resuling "full path". Note that this implementation is taken from .NET CoreFX:
https://github.com/dotnet/corefx/blob/1bff7880bfa949e8c5e46039808ec412640bbb5e/src/Common/src/CoreLib/System/IO/PathHelper.Windows.cs#L72
The problem is that once it's populated, we have no way of extending the length of the array after it was populated by the C function.
The text was updated successfully, but these errors were encountered:
@ljmf00 updated dlang/phobos pull request #8432 "feat(array): add .length property" fixing this issue:
- feat(array): add .length property
This patch adds a .length property to either get and set the length of the
managed array.
Fix issue 19259.
Reference: https://issues.dlang.org/show_bug.cgi?id=19259
Signed-off-by: Luís Ferreira <contact@lsferreira.net>https://github.com/dlang/phobos/pull/8432
johnnymarler (@marler8997) reported this on 2018-09-22T22:25:15Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=19259
CC List
Description
The text was updated successfully, but these errors were encountered: