Forget to mention the change to FD_SET() won't survive for unix build.
Regards,
Kiyo

Kiyo Kelvin Lee wrote:
Joe Orton wrote:
Download: http://www.webdav.org/neon/neon-0.26.1.tar.gz
Signature: http://www.webdav.org/neon/neon-0.26.1.tar.gz.asc
MD5: 3bb7a82bddfc1c56d2f9dba849aecd1f  neon-0.26.1.tar.gz

Changes in release 0.26.1:
* Build fixes for Win32 (D.J. Heap) and OS X.
* Add Simplified Chinese translation (Dongsheng Song).

One minor problem in ne_sspi_clear_context() (ne_sspi.c) which does not return properly. Another strange problem (also in ne_sspi.c) is that the mssdk comes with vc6 does not define FreeCredentialsHandle but define FreeCredentialHandle instead. (note that changed from singular to plural) BTW, attached is a patch to make neon cleanly (no warning) compile with vc6, vs2003 and vs2005.
Need to roll back the change to neon.mak if still using vc6 though.
Regards,
Kiyo


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

diff -C3 -r neon-0.26.1/config.hw neon-0.26.1-p1/config.hw
*** neon-0.26.1/config.hw       Wed May 24 06:45:49 2006
--- neon-0.26.1-p1/config.hw    Fri Aug  4 10:26:26 2006
***************
*** 50,57 ****
--- 50,62 ----
  /* Win32 uses a underscore, so we use a macro to eliminate that. */
  #define snprintf                      _snprintf
  #define vsnprintf                     _vsnprintf
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define strcasecmp                    _strcmpi
+ #define strncasecmp                   _strnicmp
+ #else
  #define strcasecmp                    strcmpi
  #define strncasecmp                   strnicmp
+ #endif
  #define ssize_t                               int
  #define inline                          __inline
  #define off_t                           _off_t
diff -C3 -r neon-0.26.1/config.hw.in neon-0.26.1-p1/config.hw.in
*** neon-0.26.1/config.hw.in    Thu Mar  2 04:28:58 2006
--- neon-0.26.1-p1/config.hw.in Fri Aug  4 10:26:04 2006
***************
*** 50,57 ****
--- 50,62 ----
  /* Win32 uses a underscore, so we use a macro to eliminate that. */
  #define snprintf                      _snprintf
  #define vsnprintf                     _vsnprintf
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define strcasecmp                    _strcmpi
+ #define strncasecmp                   _strnicmp
+ #else
  #define strcasecmp                    strcmpi
  #define strncasecmp                   strnicmp
+ #endif
  #define ssize_t                               int
  #define inline                          __inline
  #define off_t                           _off_t
diff -C3 -r neon-0.26.1/neon.mak neon-0.26.1-p1/neon.mak
*** neon-0.26.1/neon.mak        Fri Jan 28 07:05:25 2005
--- neon-0.26.1-p1/neon.mak     Fri Aug  4 10:19:34 2006
***************
*** 12,22 ****
  # Debug vs. Release build
  !IF "$(DEBUG_BUILD)" == ""
  INTDIR = Release
! CFLAGS = /MD /W3 /GX /O2 /D "NDEBUG"
  TARGET = .\libneon.lib
  !ELSE
  INTDIR = Debug
! CFLAGS = /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG"
  TARGET = .\libneonD.lib
  !ENDIF
--- 12,22 ----
  # Debug vs. Release build
  !IF "$(DEBUG_BUILD)" == ""
  INTDIR = Release
! CFLAGS = /MD /W3 /EHsc /O2 /D "NDEBUG" /D_CRT_SECURE_NO_DEPRECATE
  TARGET = .\libneon.lib
  !ELSE
  INTDIR = Debug
! CFLAGS = /MDd /W3 /Gm /EHsc /Zi /Od /D "_DEBUG" /D_CRT_SECURE_NO_DEPRECATE
  TARGET = .\libneonD.lib
  !ENDIF
diff -C3 -r neon-0.26.1/src/ne_request.c neon-0.26.1-p1/src/ne_request.c
*** neon-0.26.1/src/ne_request.c        Wed Mar  8 08:38:21 2006
--- neon-0.26.1-p1/src/ne_request.c     Fri Aug  4 10:22:20 2006
***************
*** 91,97 ****
--- 91,101 ----
  #else /* !NE_LFS */
typedef off_t ne_off_t;
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define ne_lseek _lseek
+ #else
  #define ne_lseek lseek
+ #endif
  #define FMT_NE_OFF_T NE_FMT_OFF_T
#if defined(SIZEOF_LONG_LONG) && defined(LONG_LONG_MAX) \
***************
*** 109,114 ****
--- 113,122 ----
  #define ne_strtoff strtol
  #endif
  #endif /* NE_LFS */
+ + #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define write _write
+ #endif
struct field {
      char *name, *value;
diff -C3 -r neon-0.26.1/src/ne_socket.c neon-0.26.1-p1/src/ne_socket.c
*** neon-0.26.1/src/ne_socket.c Sat Feb 18 04:07:03 2006
--- neon-0.26.1-p1/src/ne_socket.c      Fri Aug  4 21:51:01 2006
***************
*** 449,455 ****
      /* Init the fd set */
      FD_ZERO(&rdfds);
      do {
!       FD_SET(fdno, &rdfds);
        if (tvp) {
            tvp->tv_sec = secs;
            tvp->tv_usec = 0;
--- 449,455 ----
      /* Init the fd set */
      FD_ZERO(&rdfds);
      do {
!       FD_SET((SOCKET)fdno, &rdfds);
        if (tvp) {
            tvp->tv_sec = secs;
            tvp->tv_usec = 0;
***************
*** 1012,1022 ****
      { /* Disable the Nagle algorithm; better to add write buffering
         * instead of doing this. */
          int flag = 1;
!         setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof flag);
      }
  #endif
! if (raw_connect(fd, addr, htons(port))) {
          set_strerror(sock, ne_errno);
        ne_close(fd);
        return -1;
--- 1012,1022 ----
      { /* Disable the Nagle algorithm; better to add write buffering
         * instead of doing this. */
          int flag = 1;
!         setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (const char*)&flag, sizeof 
flag);
      }
  #endif
! if (raw_connect(fd, addr, htons((u_short)port))) {
          set_strerror(sock, ne_errno);
        ne_close(fd);
        return -1;
diff -C3 -r neon-0.26.1/src/ne_sspi.c neon-0.26.1-p1/src/ne_sspi.c
*** neon-0.26.1/src/ne_sspi.c   Sun Feb 12 23:05:14 2006
--- neon-0.26.1-p1/src/ne_sspi.c        Fri Aug  4 21:49:02 2006
***************
*** 362,368 ****
--- 362,372 ----
  static void resetContext(SSPIContext * sspiContext)
  {
      pSFT->DeleteSecurityContext(&(sspiContext->context));
+ #if defined(_MSC_VER) && _MSC_VER <= 1200
+     pSFT->FreeCredentialHandle(&(sspiContext->credentials));
+ #else
      pSFT->FreeCredentialsHandle(&(sspiContext->credentials));
+ #endif
      sspiContext->continueNeeded = 0;
  }
***************
*** 424,429 ****
--- 428,434 ----
          return status;
      }
      sspiContext->authfinished = 0;
+     return 0;
  }
  /*
   * Processes received authentication tokens as well as supplies the


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

_______________________________________________
neon mailing list
[email protected]
http://mailman.webdav.org/mailman/listinfo/neon

_______________________________________________
neon mailing list
[email protected]
http://mailman.webdav.org/mailman/listinfo/neon

Reply via email to