On 11/17/2011 15:18, Thomas Faber wrote:
This removes the use of two Variable Length Arrays.
Instead of filling a local buffer, then allocating a new one using
SysAllocString[Len], the strings are now directly written to the latter
buffer.
Note that the 'len' variable in hunk 2 does not need to count in the
terminating null in this case because SysAllocStringLen automatically
adds one.

-        WCHAR buf[url.dwSchemeLength + 1];
+        WCHAR *buf;
+        buf = *p = SysAllocStringLen(NULL, url.dwSchemeLength + 1);
          memcpy(buf, url.lpszScheme, url.dwSchemeLength * sizeof(WCHAR));
          buf[url.dwSchemeLength] = ':';
-        *p = SysAllocStringLen(buf, url.dwSchemeLength + 1);
You don't need 'buf' variable after that.


Reply via email to