Wed May 10 10:42:09 PDT 2000 UniBasic version 6.1.5 Release All Rights Reserved. Copyright (c) 1990 - 2000 by: Dynamic Concepts, Inc. Aliso Viejo, CA 92656 USA Email address: techsupport@dynamic.com Information: www.unibasic.com Downloads: ftp.unibasic.com Release instructions ==================== o This release requires an SSN authorized for UniBasic release 6. UniBasic can be used in a single user demo mode if the system lacks an SSN. IMPORTANT REMINDERS: ==================== UniBasic 6.1.5 will not run with an SSN issued for UniBasic release 5 or earlier. Please acquire and install a UniBasic 6 SSN prior to installing UniBasic 6.1.5. Previous versions of UniBasic will run with UniBasic 6 SSNs. New in This Release ================================================================================ 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, ftp.unibasic.com, or anonymous UUCP from DCI. 2. Login as 'root'. 3. Copy the distribution files 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. Type "./ubinstall". Important Files =============== README This file license.txt License terms and conditions unibasic UniBasic release 6 executable User Documentation: =================== A release 6 version of the "UniBasic Reference Guide" is available from www.unibasic.com. In addition to corrections, this manual documents in detail all new features. A separate ubconvert document is available from www.unibasic.com. Passport: ========= UniBasic 6 requires Passport 3.1 or later. Please install Passport 3.1 or later prior to running UniBasic. The UniBasic installation script does NOT install Passport. The revision number of Passport can be found in /etc/DCI/passport.log or its equivalent error log file. If you attempt to run UniBasic with a Passport older than 3.1, you will see messages such as: Waiting for response from security daemon ... and eventually an exit. Networking: =========== Although this product was not specifically tested in a network environment, it should work in a properly configured NFS system which can properly handle record locking. The product itself does not use any system calls specific to networking. Please verify that your system is configured correctly if you are having problems using this product in a network environment. For your convenience, this product includes a standalone utility, ubtestlock, to assist you in testing your configuration. Year 2000: ========== In addition to date and time related functions, those user calls that are documented in the "UniBasic Reference Guide" are year 2000 compliant. Effective UniBasic 6, 2 digit years (Y2) are converted by date calls to be in the nearest century based on a plus/minus 50 years rule. A two digit year is thus assumed to be within 50 years, plus or minus, of the current year as returned by the system. For example, if the system returns 1998 as the current year, then the year 47 will be interpreted as year 2047, and year 49 will be interpreted as year 1949. Although UniBasic 6 is year 2000 compliant, an application program itself may have problems with year 2000. For instance, application programs may calculate time incorrectly, compute leap years incorrectly, or sort dates incorrectly. For example, if keys in Indexed Contiguous files contain 2 digit years, then a simple sequential search will NOT correctly sort dates. DCI strongly recommends that all two and three digit years should be converted to a four digit years to avoid any possible misinterpretation. Copyright Notices: ================== UniBasic is a trademark of Dynamic Concepts, Inc. dL4 is a trademark of Dynamic Concepts, Inc. IQ is a registered trademark of IQ Software Corporation. Windows is a registered trademark of Microsoft Corporation. Platforms ========= Operating system information for UniBasic 6.1.5 production: ID Platform "uname -a" -------------------------------------------------------------------- 07 PowerPC 603 AIX AIX sysname 3 4 0000185B4C00 99 SCO Unix sysname sysname 3.2 2 i386