$! $! Hack to update various source files to compile with 64 bit pointers on VMS. $! $! Currently: httpserv.c, htypes.h, panel.c, logger.c, hexterns.h, impl.c $! $! P1 = Input file $! P2 = Output file (new version of input file if not specified) $! $ $ tab[0,8] = 9 $ If F$TrnLnm("Input") .Nes. "" Then Close Input $ If F$TrnLnm("Output") .Nes. "" Then Close Output $ $ InputFile = P1 $ OutputFile = P2 $ $ Version = F$Parse(OutputFile, , , "Version") $ $ If OutputFile .Eqs. "" Then OutputFile = InputFile $ $ Node = F$Parse(OutputFile, , , "Node") $ Device = F$Parse(OutputFile, , , "Device") $ Directory = F$Parse(OutputFile, , , "Directory") $ Name = F$Parse(OutputFile, , InputFile, "Name") $ Type = F$Parse(OutputFile, , InputFile, "Type") $ $ OutputFile = Node + Device + Directory + Name + Type + Version $ $ Open /Read Input 'InputFile' $ Create 'OutputFile' $ Open /Append Output 'OutputFile' $ $ Loop: $ $ Read Input Line /End=Eof $ $ CTLine = F$Edit(Line, "Compress,Trim") $ $ If Name .Eqs. "HTTPSERV" .And. Type .Eqs. ".C" $ Then $ $ If F$Element(0, " ", CTLine) .Eqs. "struct" .And. - F$Element(1, " ", CTLine) .Eqs. "passwd" $ Then $ Line = " STRUCT_PASSWD *pass = NULL;" $ Endif $ $ Endif $ $ If Name .Eqs. "HTYPES" .And. Type .Eqs. ".H" $ Then $ $ If F$Element(0, " ", CTLine) .Eqs. "typedef" .And. - F$Element(3, " ", CTLine) .Eqs. "*EXECV_ARG2_ARGV_T;" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ Endif $ $ If Name .Eqs. "PANEL" .And. Type .Eqs. ".C" $ Then $ $ If F$Element(0, " ", CTLine) .Eqs. "static" .And. - F$Element(1, " ", CTLine) .Eqs. "FILE" .And. - F$Element(2, " ", CTLine) .Eqs. "*confp" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ Endif $ $ If Name .Eqs. "LOGGER" .And. Type .Eqs. ".C" $ Then $ $ If F$Element(0, " ", CTLine) .Eqs. "static" .And. - F$Element(1, " ", CTLine) .Eqs. "FILE" $ Then $ If F$Element(2, " ", CTLine) .Eqs. "*logger_syslog[2];" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ If F$Element(2, " ", CTLine) .Eqs. "*logger_hrdcpy;" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ Endif $ $ If F$Element(0, " ", CTLine) .Eqs. "FILE" .And. - F$Element(1, " ", CTLine) .Eqs. "*new_hrdcpy;" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ Endif $ $ If Name .Eqs. "HEXTERNS" .And. Type .Eqs. ".H" $ Then $ $ If F$Element(0, " ", CTLine) .Eqs. "IMPL_DLL_IMPORT" .And. - F$Element(1, " ", CTLine) .Eqs. "int" .And. - F$Element(2, " ", CTLine) .Eqs. "impl(int,char" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ If F$Element(0, " ", CTLine) .Eqs. "GOP_DLL_IMPORT" .And. - F$Element(1, " ", CTLine) .Eqs. "char*" .And. - F$Element(2, " ", CTLine) .Eqs. "optarg;" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Endif $ $ If F$Element(0, " ", CTLine) .Eqs. "GOP_DLL_IMPORT" .And. - F$Element(1, " ", CTLine) .Eqs. "int" .And. - F$Element(2, " ", CTLine) .Eqs. "getopt" $ Then $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ Endif $ $ If Name .Eqs. "IMPL" .And. Type .Eqs. ".C" $ Then $ $ If F$Element(0, " ", CTLine) .Eqs. "static" .And. - F$Element(1, " ", CTLine) .Eqs. "int" .And. - F$Element(2, " ", CTLine) .Eqs. "process_args(int" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ If F$Element(0, " ", CTLine) .Eqs. "DLL_EXPORT" .And. - F$Element(1, " ", CTLine) .Eqs. "int" .And. - F$Element(2, " ", CTLine) .Eqs. "impl(int" $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ If F$Element(0, " ", CTLine) .Eqs. "static" .And. - F$Element(1, " ", CTLine) .Eqs. "int" .And. - F$Element(2, " ", CTLine) .Eqs. " " $ Then $ Write Output "VMS_POINTER_SIZE_SAVE" $ Write Output "VMS_POINTER_SIZE_SHORT" $ Endif $ $ If F$Element(0, " ", CTLine) .Eqs. "process_args(int" .And. - F$Element(1, " ", CTLine) .Eqs. "argc," $ Then $ Write Output Line $ Line = "VMS_POINTER_SIZE_RESTORE" $ Endif $ $ Endif $ $ Write Output Line $ $ Goto Loop $ $ Eof: $ $ Close Input $ Close Output $