Tue May 15 2001 UniBasic version 7.1.1 Maintenance Release All Rights Reserved. Copyright (c) 1990 - 2001 by: Dynamic Concepts, Inc. Aliso Viejo, CA 92656 USA Email address: techsupport@dynamic.com Information: www.unibasic.com Downloads: ftp.dynamic.com Release instructions ==================== o This release requires an SSN authorized for UniBasic release 7. UniBasic can be used in a single user demo mode if the system lacks an SSN. o This release requires Passport version 3.1 or later. Any earlier version of Passport should be upgraded to the current release of Passport before installing Unibasic 7.1.1. IMPORTANT REMINDERS: ==================== UniBasic 7.1.1 will not run with an SSN issued for UniBasic release 6 or earlier. Please acquire and install a UniBasic 7 SSN prior to installing UniBasic 7.1.1. UniBasic 7.1.1 will not run with a release of Passport older than release 3.1. Please install the current release of passport before installing UniBasic 7.1.1. Previous versions of UniBasic will run with UniBasic 7 SSNs and the current release of Passport. New in This Release ================================================================================ May 15 2001 (Release 7.1.1) o A new dynamicXport CALL, $DXCOPY, has been added. This new CALL copies the input table to the output table ('CALL $DXCOPY') o Fixes a problem in which the dynamicXport CALL $DXCLOSE would not overwrite an existing file even if the filename included a trailing exclamation mark ('CALL $DXCLOSE,"file!"). Apr 26 2001 (Release 7.1) o Support for writing DynamicXport applications. DynamicXport is a new middleware product from Dynamic Concepts that makes it easier to add web access to existing UniBasic, dL4, or other applications. Five new CALLs have been added for use with DynamicXport. The new CALLs are $DXOPEN, $DXCLOSE, $DXGET, $DXSET, and $DXURL which are described in the DynamicXport programming documentation. These CALLs cannot be used unless the system SSN includes a DynamicXport license. o A new intrinsic CALL, $NCRC32, has been added to calculate 32-bit CRC values of string values. The CALL has two forms: CALL $NCRC32,C,S$ and CALL $NCRC32,C,S$,O where "C" is a 3% or 4% numeric variable that receives the calculated CRC value, "S$" is the string to be checksummed, and "O" is an optional numeric value containing a previously calculated CRC value. The second form is used to calculate the combined CRC value of several strings. In order to support checksums of entire record images, the CRC value is calculated using the DIMmed size of the string and not the current string length. String subscripts can be used to limit the number of string characters included in the CRC calculation. o A new startup option, "-X", has been added to support DynamicXport applications. DynamicXport applications written in UniBasic are started with the command "unibasic -X programpath". This format identifies the program as a DynamicXport application and configures UniBasic with necessary options. The "-X" option disables all terminal I/O (PRINT statements without a channel number will be ignored). The "-X" option is otherwise similar to the "-F" option. o An alternate form of the "-F programpath" option has been implemented to run non-interactive programs. If UniBasic is started using the command line "unibasic -P programpath", then the UniBasic program "programpath" will be executed without the normal startup text and without terminal translation. Unibasic will exit when the program exits. o A new option, "-i k", has been added to the ubconvert and ubconvertfiles utilities to support converting files with IRIS style ("k" attribute) keys. The keys must consist of character data, not binary 8-bit data. May 10 2000 (Release 6.1.5) o Fixes a problem in CALL 28 that caused a memory violation if only one parameter was used ("CALL 28,A$"). Apr 19 2000 (Release 6.1.4) o Fixes a problem that caused the QUERY utility to output no information for Universal Indexed-Contiguous files. o Fixes a problem in CALL 127 and SEARCH that prevented reporting the number of active records in Universal Indexed-Contiguous files. o Fixes a problem in CALL 24 in which no error was reported when a date did not include a year. For example, the string "01/04/**" returned the same successful result as "01/04/00". o Fixes a problem in lptfilter in which using the "-f" option caused a memory violation on some platforms. Feb 4 2000 (Release 6.1.3) o Fixes a problem in the QUERY utility in which incorrect file creation and last access dates were displayed. o Changes platform 6D to use RedHat 6.1 as the Linux reference system. This release may not be compatible with older releases of Linux such as RedHat 5.x or earlier. The platform update is necessary for compatibility with RedHat 6.x and other current Linux distributions that use glibc 2.1 as the C runtime library. o Fixes a problem in CALL 127 in which incorrect file creation and last access dates were returned. o Fixes a problem in CALLs 24, 25, 27, and 28 in which subscripted string and literal string arguments were processed incorrectly or overwritten. o Enhances CALLs 24, 25, 27, and 28 to skip leading spaces in input arguments. o Fixes a problem in TIM(3) and SPC(3) where an incorrect time was returned after the system time was changed or adjusted. o Fixes a problem in which OSNs were not available unless the user had write access to /etc/DCI/osn. o Fixes a problem in $DEVREAD in which fixed length reads returned more than the specified number of characters. o Adds a terminal translation file, term.linux, for a Linux system console. June 2 1999 (Release 6.1.2) o Change platform 55 from "UnixWare" to "UnixWare 7" to reflect move from UnixWare 2x to 7x. o Fixes a problem on Motorola SVR4 (platform C3) where Dynamic Window borders were not printed properly. December 9 1998 (Release 6.1.1.2) o Changes native OS of BB platform from OSF/1 V3 to Digital Unix 4.0 (a later, renamed release of OSF/1 with year 2000 support). o Fixes a problem where "initializing the free list" (unnecessary in UniBasic, but supported for compatibility) in a newly created Universal Indexed Contiguous file resulted in records being allocated twice if the application did not immediately write data to newly allocated records. o Fixes a problem in CALL 56 in which a search failed if the target string match included the end of the dimensioned length of the source string. For example, 'CALL 56,S$,"cd",P' would set P to -1 instead of 3 when S$ was "abcd" if S$ was dimensioned to 4 characters. August 4 1998 (Release 6.1.1) o Fixes a problem where deallocating records that were never allocated in a malfunctioning program eventually exhausted system record lock resources. o For backwards compatibility, CALL 127 now allows the third parameter, filename, to be dimensioned to 31 bytes. However, the Universal Data File attribute, (U attribute) will not be reported. This variable should be dimensioned to 64 for possible future expansion. o Fixes a problem with CALL $DATE, where $DATE incorrectly returned an eight (8) digit date for a six (6) digit requested date. May 18 1998 (Release 6.1) o Universal Data files: these file types are hardware independent, can be moved among different Unix platforms and are fully accessible using UniBasic 6 and dL4. These files are also accessible on IQ for Unix and Windows and dL4. o ubconvert is a user-level utility that converts UniBasic BCD files to Universal Data files. A separate ubconvert document is available from www.unibasic.com. o ubconvertfiles is a low-level utility that converts UniBasic BCD files to Universal Data files. The ubconvertfiles utility is fully described in a separate ubconvert document, available from www.unibasic.com. o New PREALLOCATE value, 8192, selects creation of Universal Data files. o New "communication" calls, $DEVOPEN, $DEVREAD, $DEVWRITE, $DEVPRINT, and $DEVCLOSE. o New scripts $email.mail and $email.sendmail that allow sending email from a BASIC program. o UniBasic no longer incorrectly reports "File is in use and locked" since it now detects if a process died without removing printer lock files. o UniBasic port numbers and Unix process ids are written to printer lock files. o Supports 132 columns for wyse 50 and wyse 60 terminals. The default distribution files for term.wyse50 and term.wyse60 are set for 80 column support. If you plan to use 132 columns for these emulations, please change max_x:80 to max_x:132 in the appropriate Terminal Translation Files, i.e. term.wyse50 and term.wyse60. o Supports 132 columns terminal output. o A new ubtestlock diagnostic program to test record locking in a network environment. o A new sample printer driver, lpt.iris.sco, corrects a 32-bit printer i-node problem for SCO OpenServer users. o All date and time related functions are year 2000 compliant. o Calls 24, 26, 27, and 28 can handle 4 digit years. o New TIM options, TIM(14), TIM(15), and TIM(16), return 4 digit years. Installation instructions ========================= 1. Ensure that you have Passport version 3.1 or greater installed on your system. For common platforms, the latest Passport software can be obtained from www.unibasic.com or ftp.dynamic.com. 2. Login as 'root'. 3. Copy the distribution file to any temporary directory on your system, e.g., "/tmp". Please note that upon successful installation, all files from the current working directory and the current directory will be removed. 4. If the distribution file has a ".Z" extension, uncompress the file using the command "uncompress filename.Z". If the file has an extension of ".z", rename the file with an uppercase "Z" before uncompressing the file. 5. Unpack the distribution file using the command "cpio -imcduv