|
28 | 28 | #define BUILD 0 |
29 | 29 | #endif |
30 | 30 |
|
31 | | -#ifdef __VMS |
32 | | -# ifdef __DECC |
33 | | -# pragma extern_model save |
34 | | -# pragma extern_model strict_refdef |
35 | | -extern long ctl$gl_imghdrbf; |
36 | | -# pragma extern_model restore |
37 | | -# endif |
38 | | - |
39 | | -# ifdef __ALPHA |
40 | | -# define EIHD$L_IMGIDOFF 24 |
41 | | -# define EIHI$Q_LINKTIME 8 |
42 | | -# define _IMGIDOFF EIHD$L_IMGIDOFF |
43 | | -# define _LINKTIME EIHI$Q_LINKTIME |
44 | | -# else |
45 | | -# define IHD$W_IMGIDOFF 6 |
46 | | -# define IHI$Q_LINKTIME 56 |
47 | | -# define _IMGIDOFF IHD$W_IMGIDOFF |
48 | | -# define _LINKTIME IHI$Q_LINKTIME |
49 | | -# endif /* __VMS */ |
50 | | - |
51 | | -long* |
52 | | -vms__get_linktime (void) |
53 | | -{ |
54 | | - long* al_imghdrbf; |
55 | | - unsigned short* aw_imgidoff; |
56 | | - unsigned short w_imgidoff; |
57 | | - long* aq_linktime; |
58 | | - unsigned char* ab_ihi; |
59 | | - |
60 | | - al_imghdrbf = &ctl$gl_imghdrbf; |
61 | | - |
62 | | - al_imghdrbf = (long *)*al_imghdrbf; |
63 | | - al_imghdrbf = (long *)*al_imghdrbf; |
64 | | - |
65 | | - aw_imgidoff = (unsigned short *) |
66 | | - ((unsigned char *)al_imghdrbf + _IMGIDOFF); |
67 | | - |
68 | | - w_imgidoff = *aw_imgidoff; |
69 | | - |
70 | | - ab_ihi = (unsigned char *)al_imghdrbf + w_imgidoff; |
71 | | - |
72 | | - aq_linktime = (long *) (ab_ihi + _LINKTIME); |
73 | | - |
74 | | - return aq_linktime; |
75 | | -} /* vms__get_linktime (void) */ |
76 | | -extern void vms__cvt_v2u_time (long * aq_vmstime, time_t * al_unixtime); |
77 | | - /* input , output */ |
78 | | -#endif /* __VMS */ |
79 | | - |
80 | | - |
81 | 31 | const char * |
82 | 32 | Py_GetBuildInfo(void) |
83 | 33 | { |
84 | 34 | static char buildinfo[50]; |
85 | | -#ifdef __VMS |
86 | | - time_t l_unixtime; |
87 | | - |
88 | | - vms__cvt_v2u_time(vms__get_linktime (), &l_unixtime ); |
89 | | - |
90 | | - memset(buildinfo, 0, 40); |
91 | | - sprintf(buildinfo, "#%d, %.24s", BUILD, ctime (&l_unixtime)); |
92 | | -#else |
93 | 35 | PyOS_snprintf(buildinfo, sizeof(buildinfo), |
94 | 36 | "#%d, %.20s, %.9s", BUILD, DATE, TIME); |
95 | | -#endif |
96 | 37 | return buildinfo; |
97 | 38 | } |
0 commit comments