/* Collection of code snippets by Arne Vajhøj */
/* (likely posted to comp.os.vms/INFO-VAX, INFO-TPU, MACRO32, eksperten.dk, newz.dk, LinkedIn or other place sometime between 1990 and now) */
#include <stdio.h>

#pragma pointer_size 64
typedef char *char_ptr64;

#pragma pointer_size 32
typedef char *char_ptr32;

int main(int argc,char *argv[])
{
   char_ptr64 str64;
   char_ptr32 str32;
   printf("%d %d\n", (int)sizeof(str64), (int)sizeof(str32));
   str64 = (char_ptr64)0x000000007AD5D528LL;
   str32 = (char_ptr32)str64;
   printf("%016llX %08X\n", str64, str32);
   if(str64 != str32)
   {
      printf("Houston we have a problem\n");
      return 0;
   }
   str64 = (char_ptr64)0x000000017AD5D528LL;
   str32 = (char_ptr32)str64;
   printf("%016llX %08X\n", str64, str32);
   if(str64 != str32)
   {
      printf("Houston we have a problem\n");
      return 0;
   }
   return 0;
}

