Hello! On Tue, Nov 27, 2018 at 02:07:45PM +0900, Kentaro Hayashi wrote:
> Hi, > It seems that there is a mismatch between ngx_write_fd and WriteFile > prototype. > I've attached a patch for it. > > # HG changeset patch > # User [email protected] > # Date 1543294459 -32400 > # Tue Nov 27 13:54:19 2018 +0900 > # Branch use-const-void-pointer > # Node ID 04809b6012bd8a744e3beded6fc385cdb3f788ee > # Parent a7ff19afbb14795fef14f599a304d0ad21052b70 > Win32: Don't discards const qualifiers for WriteFile > > The 2nd argument of ngx_write_fd() is declared as > void pointer instead of const void pointer. > It means that void pointer is passed to WriteFile which accepts > LPCVOID pointer, instead of LPVOID. Thus const qualifier isn't respected. > > ref. > https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-writefile > > It causes a compile warning. Could you please elaborate a bit more about the compile warning? Which compiler you use, how the warning looks like? The const qualifier is only important when it's removed from a variable - that is, when you pass something declared as "const" into a function with non-const argument. That is, when you pass a constant variable into a function which does not promise to handle it as a constant variable. The opposite is perfectly fine, so you can safely pass a non-constant variable into a function which promises not to change the variable. From this point of view there are no problems in ngx_write_fd(), it simply passes a non-constant string to a function which promises not to change this string. [...] -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
