title: Function "WSAStringToAddress" does not work with shorthand ipv6 notation ::1, works fine when using complete notation 0:0:0:0:0:0:0:1
body: <p>I am trying to compile socket programming example on windows 8 using mingw (gcc 4.9.3). When using full expression of ipv6 address 
  WCHAR IPAddr[256] = L"0:0:0:0:0:0:0:1"; it works fine, but using WCHAR IPAddr[256] = L"::1"; returns error code 10022.</p>
  
  <pre><code>#include &lt;winsock2.h&gt;
  #include &lt;ws2tcpip.h&gt;
  #include &lt;stdio.h&gt;
  
  
  WCHAR IPAddr[256] = L"::1";
  
  SOCKADDR_IN6  MyAddrValue;
  MyAddrValue.sin6_family = AF_INET6;
  int MyAddrSize = sizeof(struct sockaddr_storage);
  
  RetVal = WSAStringToAddress(
  (LPTSTR)IPAddr,   // Pointer to address string to be converted
  AF_INET /* AF_INET*/,                  // address family
  NULL,  // Protocol info structure, not useable here
  (LPSOCKADDR)&amp;MyAddrValue,  // Socket address string buffer [out]
  &amp;MyAddrSize   // Length of socket structure
  );
  </code></pre>