Commit 94b253fd authored by Yang Tse's avatar Yang Tse
Browse files

Steve Little's fixes to allow compilation on VMS 64-bit mode

parent 61d7e720
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -6,6 +6,9 @@

                                  Changelog

Yang Tse (25 April 2007)
- Steve Little fixed compilation on VMS 64-bit mode

Daniel S (24 April 2007)
- Robert Iakobashvili made the 'master_buffer' get allocated first once it is
  can/will be used as it then makes the common cases save 16KB of data for each
+2 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ This release includes the following bugfixes:
 o GnuTLS free of NULL credentials
 o NSS-fix for closing down SSL
 o bad warning from configure when gnutls was selected
 o compilation on VMS 64-bit mode

This release includes the following known bugs:

@@ -49,6 +50,6 @@ This release would not have looked like this without help, code, reports and
advice from friends like these:

 Song Ma, Dan Fandrich, Yang Tse, Jay Austin, Robert Iakobashvil,
 James Housley, Daniel Black
 James Housley, Daniel Black, Steve Little

        Thanks! (and sorry if I forgot to mention someone)
+21 −0
Original line number Diff line number Diff line
@@ -337,5 +337,26 @@ typedef int sig_atomic_t;
#endif


/*
 *  Actually use __32_getpwuid() on 64-bit VMS builds for getpwuid()
 */

#if defined(VMS) && \
    defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
#define getpwuid __32_getpwuid
#endif


/*
 * Macro argv_item_t hides platform details to code using it.
 */

#ifdef VMS
#define argv_item_t  __char_ptr32
#else
#define argv_item_t  char *
#endif


#endif /* __SETUP_ONCE_H */
+2 −2
Original line number Diff line number Diff line
@@ -252,7 +252,7 @@ size_t Curl_base64_encode(struct SessionHandle *data,
#define TEST_NEED_SUCK
void *suck(int *);

int main(int argc, char **argv, char **envp)
int main(int argc, argv_item_t argv[], char **envp)
{
  char *base64;
  size_t base64Len;
@@ -293,7 +293,7 @@ int main(int argc, char **argv, char **envp)
#define TEST_NEED_SUCK
void *suck(int *);

int main(int argc, char **argv, char **envp)
int main(int argc, argv_item_t argv[], char **envp)
{
  char *base64;
  int base64Len;
+15 −1
Original line number Diff line number Diff line
@@ -598,6 +598,14 @@ struct namebuf {
Curl_addrinfo *Curl_ip2addr(in_addr_t num, const char *hostname, int port)
{
  Curl_addrinfo *ai;

#if defined(VMS) && \
    defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
#pragma pointer_size save
#pragma pointer_size short
#pragma message disable PTRMISMATCH
#endif

  struct hostent *h;
  struct in_addr *addrentry;
  struct namebuf buffer;
@@ -624,10 +632,16 @@ Curl_addrinfo *Curl_ip2addr(in_addr_t num, const char *hostname, int port)
  /* Now store the dotted version of the address */
  snprintf((char *)h->h_name, 16, "%s", hostname);

#if defined(VMS) && \
    defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
#pragma pointer_size restore
#pragma message enable PTRMISMATCH
#endif

  ai = Curl_he2ai(h, port);

  return ai;
}
#endif
#endif /* CURLRES_IPV4 || CURLRES_ARES */

Loading