2014-01-17 Ron Norman <rjn@inglenet.com>
   * intrinsic.c  - Change cob_intr_random to correctly compute RANDOM number

2013-12-26  Luke Bryan <cobcoder@users.sourceforge.net>

   * strings.c : Fix Unstring delimited by all delimiter
                 size > 1 issue, see bug #54.

2013-12-07  Brian Tiffin <btiffin@gnu.org>

   * call.c, common.c : Unused, set-notused parameter warning removal

2013-10-16  Luke Bryan <luke.bryan92@yahoo.com> 

   * screenio.c : Extended Accept insert key:
                     Changed insert key default to off. 
                     Added environment variable COB_INSERT_MODE, Y or y insert default becomes on. 

2013-01-16  Sergey Kashyrin <ska@kiska.net>

   * fileio.c : Fix problem to rewrite INDEXED (VBISAM) record with alternate key.

2012-10-26  Sergey Kashyrin <ska@kiska.net>

   * intrinsic.c : cob_intr_integer was crashing on large-scale numbers.

2012-10-24  Sergey Kashyrin <ska@kiska.net>

   * intrinsic.c : Prevent cob_intr_binop to use double (float) and loose precision (bug #37).

2012-10-23  Sergey Kashyrin <ska@kiska.net>

   * fileio.c : Prevent runtime crash when ASSIGN is missing in SELECT FILE.
                (well, it's better to fix the parser to give an error, but meanwhile...)

2012-08-30  Luke Bryan <lukebryan@bdumail.com>

   * screenio.c : Added for extended Accept: 
                      Tab = 2007 return code. 
                      Back tab = 2008 return code. 
                      Insert key (the default is on). 
                      Delete key. 
                  Enhanced for extended Accept: 
                      End key to end of data (was end of field). 
                      Backspace key moves remainder left (inserts space at end or 0 for numerics). 

2012-07-12  Sergey Kashyrin <ska@kiska.net>

   * numeric.c : cob_add_packed bug fix.
                 http://www.opencobol.org/modules/newbb/viewtopic.php?topic_id=1487&forum=1
                 SUBTRACT int FROM PIC S9(n)V9(m) COMP-3 was giving wrong negative result

2012-06-26  Sergey Kashyrin <ska@kiska.net>

   * numeric.c : cob_display_add_int bug fixed.
                 ADD 1 TO PIC S9(n)V9(m) VALUE -0.1 was giving wrong result

2010-11-29  Sergey Kashyrin <ska@kiska.net>

   * numeric.c : cob_add_packed bug fixed.
                 http://www.opencobol.org/modules/newbb/viewtopic.php?topic_id=1185&forum=1
                 "Bug in ADD and -std=ibm or std=mf caused by binary-truncate:no"

2010-09-03  human

   * screenio.c : Convert keys according to used environment
                  for identical behaviour
                  (especially fix for PDCurses + numpad support)

2010-05-18  Sergey Kashyrin <ska@kiska.net>

   * strings.c : Human patch for cob_unstring_into bug
                 http://www.opencobol.org/modules/newbb/viewtopic.php?topic_id=1003&forum=1

2009-12-23  Sergey Kashyrin <ska@kiska.net>

   * strings.c : cob_unstring_delimited bug fix, cob_inspect_converting bug fix

200?-??-??  Roger While <simrw@sim-basis.de>

   * common.h : Simplify by handling stuff for different compilers by
       general defines (COB_A_...), added some comments

200?-??-??  Simon 'human' Sobisch

   * common.h : adjustments for MSC, fix some compiler warnings

2009-10-27  Sergey Kashyrin <ska@kiska.net>

   * common.c : cob_accept_day_of_week corrected,
       nanosleep does not exist on IBM390 - workaround,
       cob_put_sign_ascii for EBCDIC computers was missing
   * common.h : added timespec structure for IBM390

2009-10-07  human

   * common.[ch], system.def : Added new system routine C$GETPID

2009-09-16  Sergey Kashyrin <ska@kiska.net>

   * fileio.c : lineseq_write change to add '\n' in some cases. Be aware
       that this changes current behaviour (when WRITE AFTER/BEFORE are mixed)

2009-08-28  Roger While <simrw@sim-basis.de>

   * strings.c : Fix for UNSTRING with multiple variable length fields

2009-08-01  Sergey Kashyrin <ska@kiska.net>

   * intrinsic.c : CR/DB bug fix

2009-07-25  Gary Cutler

   * screenio.c : Fix PDCurses bug with COLOR_PAIRS

2009-05-25  Roger While <simrw@sim-basis.de>

	* General : Remove the following extraneous include files:
		    byteswap.h, call.h, fileio.h, intrinsic.h, move.h, numeric.h,
		    screenio.h, strings.h, termio.h by integration into common.h
		    as first step

2009-04-10  Roger While <simrw@sim-basis.de>

	* General : Support for icc

2009-02-03  Roger While <simrw@sim-basis.de>

   * intrinsic.c : Fix Cygwins busted rand function

2009-01-27  Roger While <simrw@sim-basis.de>

   * call.c : Change hyphen interpretation

2009-01-22  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Functions CONCATENATE and SUBSTITUTE-CASE

2009-01-20  Roger While <simrw@sim-basis.de>

   * screenio.[ch] : Minimal support for value occurs

2009-01-17  Roger While <simrw@sim-basis.de>

   * common.c, screenio.[ch] : Save/restore screen over SYSTEM call
   * General : Sanitize headers. Do not use names in prototypes

2009-01-15  Roger While <simrw@sim-basis.de>

   * screenio.[ch], termio.c - SCROLL for ACCEPT/DISPLAY

2009-01-14  Roger While <simrw@sim-basis.de>

   * screenio.[ch] - ACCEPT ... FROM LINES/COLUMNS

2008-12-20  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Implement SUBSTITUTE function

2008-12-10  Roger While <simrw@sim-basis.de>

   * screenio.c : Add inter-field cursor movement for screen input

2008-12-08  Roger While <simrw@sim-basis.de>

   * General : More stack reducing
   * common.h : Constify attribute pointer in cob_field

2008-12-03  Roger While <simrw@sim-basis.de>

   * General : More stack reducing
       Clean up dangling varargs

2008-11-20  Roger While <simrw@sim-basis.de>

   * General : Reduce stack usage

2008-11-15  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix SORT GIVING when output is line sequential
   * common.[ch], call.[ch] : C routines for calling Cobol

2008-11-14  Roger While <simrw@sim-basis.de>

   * common.c : Always activate SIGSEGV handler

2008-10-17  Roger While <simrw@sim-basis.de>

   * common.[ch] : cob_check_based - Check BASED items

2008-09-22  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Evaluate FILE STATUS for SORT files
   * General : More constification

2008-08-20  Roger While <simrw@sim-basis.de>

   * common.h : Change macro for __builtin_expect

2008-08-16  Roger While <simrw@sim-basis.de>

   * coblocal.h, termio.c, screenio.c : Change global name screen_initialized

2008-08-01  Roger While <simrw@sim-basis.de>

   * byteswap.h : Do not rely on gcc doing the right thing for short

2008-07-21  Roger While <simrw@sim-basis.de>

   * screenio.c : Do not display SECURE items
   * General : Cleanup, do early malloc initializations

2008-07-19  Roger While <simrw@sim-basis.de>

   * General : Tidy up syntax
   * intrinsic.c : Optimize field generation

2008-07-18  Roger While <simrw@sim-basis.de>

   * common.c : Win does not have nanosleep

2008-07-14  Roger While <simrw@sim-basis.de>

   * termio.c, move.c : Preliminary changes for zero-length fields

2008-07-11  Roger While <simrw@sim-basis.de>

   * strings.c : Handle special replacement correctly

2008-07-09  Roger While <simrw@sim-basis.de>

   * screenio.[ch] : Fix up SCREEN handling

2008-07-05  Roger While <simrw@sim-basis.de>

   * screenio.c : Extend SCREEN processing

2008-07-01  Roger While <simrw@sim-basis.de>

   * termio.c : Revert '.' display of non-displayable characters

2008-06-29  Roger While <simrw@sim-basis.de>

   * common.[ch], system.def : Implement CBL_OC_NANOSLEEP
   * coblocal.h, move.c : support routines for the above

2008-06-25  Roger While <simrw@sim-basis.de>

   * screenio.[ch] : Define input fields for SCREEN section

2008-06-23  Roger While <simrw@sim-basis.de>

   * screenio.c : New env COB_SCREEN_EXCEPTIONS to retrun extended
      exception codes on ACCEPT

2008-06-17  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix return from ISAM (not BDB) from OPEN
   * common.c : redirect to stderr when necessary
   * screenio.c : More support

2008-06-10  Roger While <simrw@sim-basis.de>

   * screenio.[ch], termio.c : More Screen changes

2008-06-05  Roger While <simrw@sim-basis.de>

   * coblocal.h, common.c, fileio.[ch] : Cleanup, prepare for linptr reuse

2008-06-04  Roger While <simrw@sim-basis.de>

   * fileio.c : Cleanup /simplification

2008-06-03  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Support UNLOCK statement

2008-06-01  Roger While <simrw@sim-basis.de>

   * coblocal.h, move.c, numeric.c : Localize cob_binary_get/set routines
   * common.c, move.c : Cater for spaces in numeric fields
   * termio.c : Display '.' for invalid characters

2008-05-31  Roger While <simrw@sim-basis.de>

   * fileio.c : Allow VARYING on LINE SEQUENTIAL

2008-05-23  Roger While <simrw@sim-basis.de>

   * common.h, termio.c : Better display of POINTER items

2008-05-19  Roger While <simrw@sim-basis.de>

   * screenio.[ch] : More support for SCREEN

2008-05-14  Roger While <simrw@sim-basis.de>

   * common.c : Fix C$NARG for chaining syntax
   * common.[ch] : Simplify accept from environment

2008-05-12  Roger While <simrw@sim-basis.de>

   * screenio.c : Fix some screen displays

2008-04-17  Roger While <simrw@sim-basis.de>

   * common.[ch], system.def : Implement MF call X"91",
      subfunctions 11, 12, 16

2008-04-02  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Implement FUNCTION COMBINED-DATETIME

2008-03-31  Roger While <simrw@sim-basis.de>

   * intrinsic:[ch] : Implement LOCALE-TIME-FROM-SECONDS
      More refmodding for functions

2008-03-29  Roger While <simrw@sim-basis.de>

   * General : Fix up sparse warnings

2008-03-24  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Refmodding for some FUNCTIONS

2008-03-11  Roger While <simrw@sim-basis.de>

   * call.c : New environment variable to control case conversion on
      dynamic program loads.
      COB_LOAD_CASE=UPPER|LOWER

2008-03-05  Roger While <simrw@sim-basis.de>

   * fileio.c : New environment variables to control LINE SEQUENTIAL
      files.
      COB_LS_NULLS - Equivalent to MF's -N switch.
      Bytes less than ASCII space are preceded by a null
      byte on write.
      COB_LS_FIXED - Write the record without trailing space
      removal.

2008-03-01  Roger While <simrw@sim-basis.de>

   * fileio.c : BDB CLOSE must close secondary files first

2008-02-19  Roger While <simrw@sim-basis.de>

   * fileio.c : Clean up and comment

2008-02-14  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix ifdef's for variable sequential files

2008-02-12  Roger While <simrw@sim-basis.de>

   * common.[ch] :  Rationalize some previously exported variables
      New function - cob_set_location for line debugging

2008-01-07  Roger While <simrw@sim-basis.de>

   * common.[ch] : DISPLAY .. UPON COMMAND-LINE

2008-01-03  Roger While <simrw@sim-basis.de>

   * move.h : Remove own_memxxx routines
   * General : Remove references to own_memxxx routines

2007-12-27  Roger While <simrw@sim-basis.de>

   ** Mark 1.0 RELEASE

2007-12-15  Roger While <simrw@sim-basis.de>

   * common.c : Change exception structure definition to optimize
      64 bit allocation

2007-11-21  Roger While <simrw@sim-basis.de>

   * fileio.c : Add C/D/VB-ISAM code

2007-11-20  Roger While <simrw@sim-basis.de>

   * fileio.c : Cater for 02 return status
      Put in hooks for C/D/VB-ISAM

2007-11-09  Roger While <simrw@sim-basis.de>

   * numeric.c : Use 64-bit when available

2007-11-01  Roger While <simrw@sim-basis.de>

   * numeric.c : Fix 64-bit unsigned problem

2007-10-27  Roger While <simrw@sim-basis.de>

   * strings.c : Fix figurative constant handling in INSPECT

2007-10-24  Roger While <simrw@sim-basis.de>

   * numeric.[ch] : New routine cob_cmp_uint

2007-10-22  Roger While <simrw@sim-basis.de>

   * numeric.c : Fix 36 digit numerics

2007-10-20  Roger While <simrw@sim-basis.de>

   * call.c : Clean up
   * codegen.h : Fix up signed/unsigned comparison

2007-10-17  Roger While <simrw@sim-basis.de>

   * common.c : User defined exit routines must be called before
         the OC clean up routines.
           Fix missing call to user defined error routines.

2007-10-10  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Change delete to fdelete (C++)

2007-09-18  Roger While <simrw@sim-basis.de>

   * screenio.c : Check for mvgetnstr in curses lib

2007-09-12  Roger While <simrw@sim-basis.de>

   * fileio.h : Add in CHANNEL definition

2007-09-07  Roger While <simrw@sim-basis.de>

   * General : unistd.h is not availiable on native Win
   * move.c, termio.c : Cater for changed pic string representation

2007-08-31  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Move defines, change EXTFH interface
      Linage is reduced to a pointer in the fileio struct
      2 local defines moved from fileio.c to fileio.h for EXTFH

2007-08-23  Roger While <simrw@sim-basis.de>

   * General : Remove ASCII 10/20, fix up ascii/ebcdic on target
      Note changes to module and file structures

2007-08-14  Roger While <simrw@sim-basis.de>

   * fileio.c : Implement method to use an external SEQ/RAN file handler
   * fileio.h : Use spare byte in file struct as file version

2007-08-12  Roger While <simrw@sim-basis.de>

   * numeric.c : Fix for EBCDIC machines

2007-08-09  Roger While <simrw@sim-basis.de>

   * fileio.c : Implement method to use an external ISAM file handler

2007-08-01  Roger While <simrw@sim-basis.de>

   * call.c : Implement cob_c_cancel
   * General : More constification

2007-07-26  Roger While <simrw@sim-basis.de>

   * common.c, fileio.c : (un)likely optimizations
   * byteswap.h : For i386, let gcc work out the 2 byte case

2007-07-24  Roger While <simrw@sim-basis.de>

   * fileio.c : Do not use locks if filename begins with "/dev/"

2007-07-21  Roger While <simrw@sim-basis.de>

   * common.c : Use calloc instead of malloc

2007-07-11  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix a memory leak in the I/S close code

2007-07-02  Roger While <simrw@sim-basis.de>

   * call.c : Previously we were trying to detect if dlopen(NULL)
      works in configure and ifdef'ing in call.c
      This does not work in all circumstances.
      For borked systems this now has to be changed by hand
      in call.c. The comments at the top of call.c -
      /* NOTE - The following variable should be uncommented when
      it is known that dlopen(NULL) is borked.
      This is known to be true for some PA-RISC HP-UX 11.11 systems.
      This is fixed with HP patch PHSS_28871. (There are newer
      but this fixes dlopen/dlsym problems)
      */
      /* #define COB_BORKED_DLOPEN */

2007-07-01  Roger While <simrw@sim-basis.de>

   * codegen.h : Further optimizations

2007-06-28  Roger While <simrw@sim-basis.de>

   * codegen.h : Tweak for non-alignment-tolerant architectures
   * intrinsic.c : DST hack for ports that do not have "%z"
      Note - This needs to be properly fixed

2007-06-26  Roger While <simrw@sim-basis.de>

   * intrinsic.c : For specific ports, fix TZ in CURRENT-DATE
      Add use of strftime for timezone if configure detected

2007-06-06  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : LOCK on WRITE/REWRITE

2007-05-22  Roger While <simrw@sim-basis.de>

   * fileio.[hc] : Implement IGNORING LOCK.
      Fix a WRITE/REWRITE problem with duplicate keys.

2007-05-17  Roger While <simrw@sim-basis.de>

   * screenio.c : Use normal curses when available

2007-05-10  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix positioning with START,READ NEXT/PREVIOUS on duplicate
      records.

2007-05-08  Roger While <simrw@sim-basis.de>

   * common.[ch] : Fix incompatible param definitions on CBL_EXIT_PROC
      and CBL_ERROR_PROC

2007-05-04  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Preliminary support for record locking

2007-04-28  Roger While <simrw@sim-basis.de>

   * numeric.c : Remove duplicated code.
      Set up variables for binary > 64 bits

2007-04-26  Roger While <simrw@sim-basis.de>

   * numeric.c : Fix incorrect value when signed bit set in an
      eight byte binary value.
   * numeric.[ch] : Remove unused routine. Make 2 routines static.

2007-04-17  Roger While <simrw@sim-basis.de>

   * intrinsic.c : Fix a Cygwin compile failure

2007-04-11  Roger While <simrw@sim-basis.de>

   * common.[ch] : Define cob_one for screen display

2007-04-10  Roger While <simrw@sim-basis.de>

   * strings.[ch] : Dynamically allocate for unstring

2007-03-27  Roger While <simrw@sim-basis.de>

   * common.c : Fix 64-bit warning

2007-03-16  Roger While <simrw@sim-basis.de>

   * common.c, intrinsic.c : Provide fractional seconds on Win platform

2007-03-13  Roger While <simrw@sim-basis.de>

   * intrinsic.c : Provide fractional seconds for CURRENT-DATE if
     supported on the platform
   * common.c : Provide fractional seconds for ACCEPT .. FROM TIME
     if supported on the platform
   * fileio.h : Align file structure
   * fileio.c : When filename mapping, allow underline in varibale name

2007-03-05  Roger While <simrw@sim-basis.de>

   * intrinsic.c : Windows/Cygwin implementation of LOCALE-DATE/TIME

2007-03-03  Roger While <simrw@sim-basis.de>

   * General : Use COB_FIELD_xxx macros

2007-03-01  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Change params for LOCALE-DATE/TIME

2007-02-26  Roger While <simrw@sim-basis.de>

   * intrinsic.c : Fix for not defined LANGINFO

2007-02-25  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix Indexed-Sequential rewrite

2007-02-13  Roger While <simrw@sim-basis.de>

   * All : Change initialization of fields/attributes

2007-02-11  Roger While <simrw@sim-basis.de>

   * coblocal.h : New file, contains prototypes that should only
      be known to the library
   * All : Implement above header file

2007-02-09  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Implement SORT-RETURN

2007-02-07  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Implement LOCALE-DATE, LOCALE-TIME
   * fileio.[hc] : Fix a READ PREVIOUS problem

2007-01-24  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Implement new SORT routines
         Note these do not need the ISAM handler

2007-01-17  Roger While <simrw@sim-basis.de>

   * common.[ch] : Add cob_is_omitted, check for null parameter

2007-01-16  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Implement FUNCTION's
      SECONDS-PAST-MIDNIGHT, SECONDS-FROM-FORMATTED-TIME
   * All : Remove COB_SET_EXCEPTION define
   * intrinsic.c : Set COB_EC_ARGUMENT_FUNCTION exception code where
         appropiate

2007-01-15  Roger While <simrw@sim-basis.de>

   * common.[ch], fileio.[ch] : Change sort comparison routines to not
      overwrite collating sequence. Also optimize.
      Note, this fixes a problem with a (file) SORT with COLLATING and
      INPUT and/or OUPUT procedures. Previously, this would
      incorrectly change alphanumeric tests in the
      INPUT/OUTPUT procedures.
   * fileio.[ch] : Allow special ASSIGN [TO] DISPLAY processing

2007-01-12  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix miscompile on WIN64

2007-01-10  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Allow special ASSIGN [TO] KEYBOARD processing

2007-01-08  Roger While <simrw@sim-basis.de>

   * call.[ch] : Implement new CANCEL processing

2006-12-17  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Correct the NUMVAL-C function

2006-12-12  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix secondary key access

2006-12-07  Roger While <simrw@sim-basis.de>

   * intrinsic.[ch] : Implement TRIM function

2006-11-28  Roger While <simrw@sim-basis.de>

   * move.c : Small optimization
   * numeric.c : New routines cob_cmp_long_numdisp,
         cob_cmp_long_signed_numdisp

2006-11-12  Roger While <simrw@sim-basis.de>

   * codegen.h : Remaining integer cmp/add/sub optimizations

2006-10-23  Roger While <simrw@sim-basis.de>

   * Makefile.am : Remove gcc options
     General : Constify some stuff

2006-10-16  Roger While <simrw@sim-basis.de>

   * codegen.h : Fix 3 byte compare

2006-10-15  Roger While <simrw@sim-basis.de>

   * codegen.h : This is now the place for optimization
      Duplication in numeric.c is not necessary
      Add in optimization for 3/5/6/7 byte compares
      Add in 3 byte add optimization
   * numeric.c : Delete duplicated code from codegen.h
      Constify

2006-10-14  Roger While <simrw@sim-basis.de>

   * common.c, fileio.[ch], move.[ch] : const defintions

2006-09-30  Roger While <simrw@sim-basis.de>

   * common.[ch] : Implement CBL_EXIT_PROC
   * General : tidy up

2006-08-31  Roger While <simrw@sim-basis.de>

   * call.c : Alternate ifdef'd algo for call list

2006-08-28  Roger While <simrw@sim-basis.de>

   * General : Check for COB_PARAM_CHECK
   * numeric.c : Experimental code

2006-08-26  Roger While <simrw@sim-basis.de>

   * fileio.c : Implement COB_FILE_PATH variable for default
     path prefix on files that do not have any other assignment

2006-08-09  Roger While <simrw@sim-basis.de>

   * system.def, common.[ch] : More MF/ACU system routines

2006-08-01  Roger While <simrw@sim-basis.de>

   * common.[ch], call.c : Change cob_field_to_string to type void

2006-07-31  Roger While <simrw@sim-basis.de>

   * system.def, fileio.[ch], call.c, common.[ch] : New MF system routines -
     see system.def

2006-07-26  Roger While <simrw@sim-basis.de>

   * All : General clean up and fix gcc 4 warnings
   * New file system.def
   * call.c, common.[ch] : System routines

2006-07-19  Roger While <simrw@sim-basis.de>

   * All : General clean up

2006-07-14  Roger While <simrw@sim-basis.de>

   * codegen.h, numeric.c : Fix optimization for HP compiler
   * intrinsic.c : Fix bug in NUMVAL routines

2006-07-12  Roger While <simrw@sim-basis.de>

   * common.[ch] : Implement ALLOCATE/FREE
   * strings.c : Clean up

2006-07-07  Roger While <simrw@sim-basis.de>

   * codegen.h, numeric.c : More optimizations
   * fileio.c : Further BDB fixes

2006-07-06  Roger While <simrw@sim-basis.de>

   * fileio.c : BDB >= 4.1 fixes

2006-07-04  Roger While <simrw@sim-basis.de>

   * fileio.c : BDB >= 4.1 fixes

2006-06-22  Roger While <simrw@sim-basis.de>

   * call.c : Set cob_exception_code for not found calls

2006-06-21  Roger While <simrw@sim-basis.de>

   * fileio.c : Fix typo for cob_sort_output_cache

2006-06-06  Roger While <simrw@sim-basis.de>

   * move.h : Remove generic memcpy/memset for non (GNUC && i386)

2006-06-05  Roger While <simrw@sim-basis.de>

   * fileio.[ch] : Implement PREVIOUS for IS files

2006-05-27  Roger While <simrw@sim-basis.de>

   * common.[ch] : Implement cob_fatal_error

2006-05-20  Roger While <simrw@sim-basis.de>

   * Fixes for extended ACCEPT/DISPLAY

2006-05-18  Roger While <simrw@sim-basis.de>

   * common.[ch], intrinsic.[ch] : Implement FUNCTION's EXCEPTION-FILE,
      EXCEPTION-STATEMENT, EXCEPTION-LOCATION and EXCEPTION-STATUS

2006-05-12  Roger While <simrw@sim-basis.de>

   * common.c, exception.def : Exceptions for ACCEPT/DISPLAY

2006-05-10  Roger While <simrw@sim-basis.de>

   * common.h : Preliminary support for CURSOR IS and CRT STATUS IS
   * intrinsic.[ch] : Implement STORED-CHAR-LENGTH (Fujitsu)

2006-05-08  Roger While <simrw@sim-basis.de>

   * common.[ch] : cob_chain_setup - Setp CHAINING params from command line
   * string.[ch] : Implement TRAILING syntax in INSPECT clause

2006-05-05  Roger While <simrw@sim-basis.de>

   * strings.c : Avoid memory bloat with INSPECT

2006-05-04  Roger While <simrw@sim-basis.de>

   * common.h : Define likely/unlikely macros
   * call.c, move.c : Use above macros

2006-05-03  Roger While <simrw@sim-basis.de>

   * screenio.[ch] : Change strucrures

2006-05-01  Roger While <simrw@sim-basis.de>

   * General : Changes for native EBCDIC machines
   * codegen.h, numeric.c : Further optimization for cob_cmp_xxx,
      cob_add_xxx, cob_sub_xxx
   * common.[ch]: Support for sign-ebcdic and sign-ascii20
         (Note ascii20 is not correct)
             Implement SET ENVIRONMENT (ACU)

2006-04-17  Roger While <simrw@sim-basis.de>

   * codegen.h, numeric.c : Optimized cob_cmp_xxx, cob_add_xxx,
     cob_sub_xxx

2006-04-06  Roger While <simrw@sim-basis.de>

   * common.h, common.c : Define new function cob_strdup
     common.c, call.c, fileio.c : Use cob_strdup
     fileio.c : Fix size_t mistake

2006-04-02  Roger While <simrw@sim-basis.de>

   * codegen.h : Fix up a bunch of mistakes

2006-03-25  Roger While <simrw@sim-basis.de>

   * common.c : Although not currently used, update the
     ASCII/EBCDIC tables

2006-03-23  Roger While <simrw@sim-basis.de>

   * numeric.c : Fix a stack corruption in the fast C-3 compare

2006-03-22  Roger While <simrw@sim-basis.de>

   * common.[hc] : Implement COLLATING SEQUENCE for table SORT

2006-03-21  Roger While <simrw@sim-basis.de>

   * move.c : More edited field fixes from Hans Martin Rasch

2006-03-16  Roger While <simrw@sim-basis.de>

   * move.c : Fix edited field with +/- and currency

2006-03-10  Roger While <simrw@sim-basis.de>

   * All : Reduce compile warnings under Win
   * common.c : setlocale depends on HAVE_SETLOCALE
           We must do a setlocale for LC_NUMERIC
           as languages with a comma seperator change
           the operation of string functions which bork
           specfically FP operations

2006-03-09  Roger While <simrw@sim-basis.de>

   * numeric.c : Fix remainder problem
            Fix returning functions which return void

2006-03-04  Roger While <simrw@sim-basis.de>

   * common.c : Don't do cob_put_sign for PACKED fields
           in the cob_cmp_xxx routines

2006-02-21  Roger While <simrw@sim-basis.de>

   * new include : codegen.h
     This contains inlines that only relate to code
     generation
     Implemented are cob_cmp_xxx_binary and cob_addsub_xxx_binary
     where xxx is u8, s8, u16, s16 etc.
   * call.c : Fix a preload problem under Cygwin

2006-02-18  Roger While <simrw@sim-basis.de>

   * move.h : Take out x86 memcpy optimization

2006-02-08  Roger While <simrw@sim-basis.de>

   * common.c/h, numeric.c/h : Optimize COMP/COMP-3

2006-02-01  Roger While <simrw@sim-basis.de>

   * fileio.h, fileio.c : Changes for FILE STATUS
     We have to pass the FILE STATUS as a parameter
     to the I/O call. This is required for EXTERNAL FD's.

2006-01-29  Roger While <simrw@sim-basis.de>

   * call.c : Implement COB_PRE_LOAD

2006-01-27  Roger While <simrw@sim-basis.de>

   * Tweak COMP-3

2006-01-26  Roger While <simrw@sim-basis.de>

   * strings.c : Rip out regex use. It cannot handle
     a low-value (null byte) in RE.
     call.c : Native WIN MSC needs path seperator of ';'
     common.h, common.c : Implement CBL_ERROR_PROC

2006-01-25  Roger While <simrw@sim-basis.de>

   * fileio.h, fileio.c : signed to unsigned for file_status

2006-01-17  Roger While <simrw@sim-basis.de>

   * fileio.c : Print assign name when erroring

2006-01-07  Roger While <simrw@sim-basis.de>

   * fileio.c : 64-bit fixes

2006-01-05  Roger While <simrw@sim-basis.de>

   * General : Bootstrap up to new libtool / automake
          MS VS/VC changes
     fileio.c : Fix relative postioning and incorrectly
           returned relative record number

2005-12-30  Roger While <simrw@sim-basis.de>

   * Change ifdef's on MINGW to WIN32 (Also defined on 64-bit Win)
     intrinsic.c : ifdef's for strftime (CURRENT-DATE)
     fileio.c : Basic platform changes

2005-12-28  Roger While <simrw@sim-basis.de>

   * General : Further fixes for non-gcc

2005-12-27  Roger While <simrw@sim-basis.de>

   * General : Change occurrences of "char[variable]"
     move.c : Change code for "MOVE ALL '98' TO binary/packed/edited"
         This is still not completely correct

2005-12-23  Roger While <simrw@sim-basis.de>

   * termio.c, common.c : Move extended accept/display from
     termio to common. Define cobc_argc/argv as static.

2005-12-21  Roger While <simrw@sim-basis.de>

   * fileio.c - Cater for various format of the record
     length field in variable length sequential files
     (WITH_VARSEQ)

2005-12-18  Roger While <simrw@sim-basis.de>

   * All : Cleanup "shadowed" variables
      Start generalizing code for large numbers
     common.c : Take out Ebcdic table, now genned by codegen

2005-12-09  Roger While <simrw@sim-basis.de>

   * move.c : Fix display of large unsigned numbers.
     termio.c : Change number of displayed digits.

2005-12-08  Roger While <simrw@sim-basis.de>

   * common.h : New defines - COB_SMALL_BUFF, COB_MEDIUM_BUFF,
     COB_LARGE_BUFF.
     Replace all occurrences of FILENAME_MAX/BUFSIZ.

2005-12-04  Roger While <simrw@sim-basis.de>

   * intrinsic.c : Fix strftime for MingW

2005-12-04  Roger While <simrw@sim-basis.de>

   * byteswap.h : Take out typedefs. They are likely to
     clash with standard includes.

2005-12-03  Roger While <simrw@sim-basis.de>

   * common.c : Do not gen signals for Ming
   * fileio.c : Ming / typing changes

2005-11-25  Roger While <simrw@sim-basis.de>

   * common.c : Extended signal handling
     fileio.c : Don't use mkstemp on non-Win

2005-11-16  Roger While <simrw@sim-basis.de>

   * call.c : Fix wrong cached handle
     fileio.c : Fix spacing in LS read

2005-11-15  Roger While <simrw@sim-basis.de>

   * fileio.c : Allow COB_SYNC=P (Paranoid)
     This will try even harder to sync.

2005-11-15  Roger While <simrw@sim-basis.de>

   * common.c, fileio.h, fileio.c : Check open files
     at run-unit termination. Implement sync'ing
     with enviroment variable COB_SYNC=Y.
     Catch signals QUIT, INT and HUP.

2005-11-08  Roger While <simrw@sim-basis.de>

   * fileio.c : Tweaks for LS files

2005-11-04  Roger While <simrw@sim-basis.de>

   * call.c : Don't repeatedly call (lt_)dlopen on
     NULL (main program); Do it once at startup.

2005-11-01  Roger While <simrw@sim-basis.de>

   * screenio.c : Cater for include in ncurses/ncurses.h
   * fileio.c : ferror under Cygwin doesn't like a
     void * parameter - Cast it.
     Fix line-sequential reads when input has carriage-returns.

2005-10-26  Roger While <simrw@sim-basis.de>

   * fileio.c : Remove HAVE_DB ifdef, fix warnings
   * move.c : Fix warnings

2005-10-25  Roger While <simrw@sim-basis.de>

   * move.h, move.c, numeric.c, fileio.c, strings.c
     memcpy/memset optimizations
     move.c : Fix a mpz_ call (optimization)

2005-10-14  Roger While <simrw@sim-basis.de>

   * All : More GCC 4 fixes

2005-10-13  Roger While <simrw@sim-basis.de>

   * common.h, common.c : Fix function type (GCC 4)

2005-08-07  Roger While <simrw@sim-basis.de>

   * All .c : indent, braces
   * call.c : Dynamically allocate areas, const allocation

2005-08-04  Roger While <simrw@sim-basis.de>

   * fileio.c : Harden I/O error checking
     Replace fputc with putc
   * screenio.c,h : Rename cob_screen_clear to cob_screen_terminate
   * common.c,h : Call cob_screen_terminate in cob_stop_run
     Define cob_stop_run as noreturn (gnuc)
   * All : Change occurrences of exit to cob_stop_run

2005-07-31  Roger While <simrw@sim-basis.de>

   * intrinsic.c, intrinsic.h : Add SIGN, FRACTION-PART, clean up
   * common.c, common.h : cob_check_version - Program versioning
   * move.c, numeric.c : Some preliminary assembler stuff

2005-07-14  Roger While <simrw@sim-basis.de>

   * fileio.c : Dummy routines for read,write, etc.
     Always generate the function jump table, even if
     DB not configured. Jumps to the dummy routines
     result in status 30.

   * All : Do malloc's through own new routine cob_malloc
     This will produce an error and terminate if memory
     can not be acquired.

2005-07-02  Roger While <simrw@sim-basis.de>

   * common.h : cob_module bit fields to char
   * intrinsic.c : Clean up and fixes
   * move.c, numeric.c : Experiment with own_mem(cpy,set)
   * fileio.c : Cast fseek offsets to off_t
           Return correctly if DB not defined

2005-06-28  Roger While <simrw@sim-basis.de>

   * New files : intrinsic.h, intrinsic.c
   * Fix cob_add/sub_int

2005-06-13  Roger While <simrw@sim-basis.de>

   * common.c : Handle new COB_SWITCH_n=ON/OFF
     screenio.c : Handle pdcurses

2005-06-11  Roger While <simrw@sim-basis.de>

   * strings.c : Fix INSPECT
     fileio.c : Mistake in LINAGE

2005-06-09  Roger While <simrw@sim-basis.de>

   * call.c : Fix memory leak in drop function.

2005-06-01  Roger While <simrw@sim-basis.de>

   * Makefile*, fileio.c, common.c : Hacks for MinGW
     move.c : Include math.h

2005-05-31  Roger While <simrw@sim-basis.de>

   * common.h, common.c, numeric.c, move.c, termio.c :
       Rough implementation of COMP-1/2 fields.

2005-05-27  Roger While <simrw@sim-basis.de>

   * byteswap.h : u_int16_t etc. are not necessarily defined
     in sys/types.h (eg. MinGW). So ifndef on __BIT_TYPES_DEFINED__
     and typedef them.
     fileio.c : Cater for extended DB headers db4/ db4.1/ db4.2/ db4.3/

2005-05-23  Roger While <simrw@sim-basis.de>

   * call.h, call.c : New functions cob_resolve_1
            cob_call_resolve_1.
            These are wrappers for optimized dynamic
            calls.

2005-05-21  Roger While <simrw@sim-basis.de>

   * call.h, call.c : Cater for call.def
            Cater for --with-dl
            Restructure code slightly
            Take out check for cob_initialized

2005-05-03  Roger While <simrw@sim-basis.de>

   * Mak* :      Due to autoreconf
     common.c :  Slight restructure.
            cob_exp10 must be int not long.
     common.h :  extern definitions.
     fileio.c :  Force SORT to put duplicates in order.
     move.c :    Performance.
     numeric.c : Remove unused function.
            Change long to int (64-bitters where long = 8 bytes).

2005-04-15  Keisuke Nishida  <knishida@opencobol.org>

   * Makefile.am (libcob_la_CFLAGS): Add -fsigned-char.

2005-04-13  Keisuke Nishida  <knishida@opencobol.org>

   * byteswap.h: #include <sys/types.h>.  Use u_int16_t, u_int32_t, and
   u_int64_t instead of unsigned short, etc.

2005-03-03  Roger While <simrw@sim-basis.de>

   * fileio.h, fileio.c :
     LINAGE

2005-02-11  Roger While <simrw@sim-basis.de>

   * common.h, common.c, termio.c :
     Reorder struct cob_module.
     Fixes for ARGUMENT-VALUE/NUMBER -
     discovered by Franklin Ankum.
     Fix possible too small buffer.

2005-02-09  Roger While <simrw@sim-basis.de>

   * I must be going senile. Finally fix
     cob_external_addr.

2005-02-08  Roger While <simrw@sim-basis.de>

   * Fix my cob_external_addr routine

2005-02-07  Roger While <simrw@sim-basis.de>

   * common.h, common.c : new routine cob_external_addr
     Dynamically cater for EXTERNAL items at runtime

2005-02-04  Roger While <simrw@sim-basis.de>

   * termio.h, termio.c :
     implement DISPLAY .. UPON ENVIRONMENT-VALUE
     implement DISPLAY .. UPON ARGUMENT-NUMBER
     implement ACCEPT .. FROM ARGUMENT-NUMBER
     implement ACCEPT .. FROM ARGUMENT-VALUE

2005-01-07  Roger While <simrw@sim-basis.de>

   * move.c : Fix incorrect truncation when !binary_trunc
     and moving binary to packed or edited fields
   * numeric.c : Fix arithmetic with numeric display
     fields when !binary_trunc

2004-11-19  Roger While <simrw@sim-basis.de>

   * move.c : Fix incorrect truncation when !binary_trunc

2004-11-05  Roger While <simrw@sim-basis.de>

   * numeric.c : Handle arithmetic for !binary_trunc.

2004-11-04  Roger While <simrw@sim-basis.de>

   * move.c : Fix regression for NIST suite

2004-11-04  Bernard Giroud <bgiroud@opencobol.org>
   * numeric.c (cob_decimal_get_binary) : reverted:
     NIST test suite is no mre working.

2004-11-02  Bernard Giroud <bgiroud@opencobol.org>
   * numeric.c (cob_decimal_get_binary) :
     Worked around what I consider a bug in Gmp for getting
     a long signed value.
   * Added checks for option binary-truncate from a
     suggestion of Roger While.

2004-10-31  Roger While <simrw@sim-basis.de>

   * fileio.h : For I/O exceptions, has_status flag and slight
     rearrangement of fields in cob_file structure.

2004-10-30  Roger While <simrw@sim-basis.de>

   * call.c, common.c, move.c : Replace back-tick "'" with
     quote "'"
   * move.c : Fix to handle PIC ***B***B**9.
   * byteswap.h : Always generate optimum code, not just with -O
   * fileio.c : Tidy up file error messages.
     In the ENOENT return for OPEN OUTPUT/EXTEND, return status 30.
     Note this will not have any effect until we activate error
     handling for the OPEN. (Coming up soon)

2004-09-17  Keisuke Nishida  <knishida@opencobol.org>

   * numeric.h (COB_STORE_TRUNC_ON_OVERFLOW): Define as 0x04, not 0x02.
   (Thanks to Roger While)

2004-07-06  Keisuke Nishida  <knishida@opencobol.org>

   * numeric.h (COB_STORE_ROUND, COB_STORE_KEEP_ON_OVERFLOW)
   (COB_STORE_TRUNC_ON_OVERFLOW): New macros.
   * numeric.h, numeric.c (cob_decimal_get_display)
   (cob_decimal_get_binary, cob_decimal_get_field, cob_add, cob_sub)
   (cob_div_quotient, cob_div_remainder): New arg 'opt'.
   * numeric.c (cob_decimal_get_field_round): Removed.
   Integrated into 'cob_decimal_get_field'.
   (cob_display_add_int): Renamed from cob_add_int_to_display.
   (cob_add_round, cob_sub_round): Removed.

2004-07-05  Keisuke Nishida  <knishida@opencobol.org>

   * fileio.c (sort_read): Set field size for varying records.
   (Thanks to Roger While!)

2004-06-12  Keisuke Nishida  <knishida@opencobol.org>

   * termio.c (display): Display full digits of binary item
   when pretty-display is off, not when binary-truncate is off.

2004-05-21  Keisuke Nishida  <knishida@opencobol.org>

   * move.c (cob_binary_get_int64): Reimplemented using memcpy.
   (cob_binary_get_int): Call cob_binary_get_int64.
   (cob_binary_set_int): Call cob_binary_set_int64.

2004-05-16  Keisuke Nishida  <knishida@opencobol.org>

   * common.c (cob_cmp): Compare non-display numeric and alphanumeric
   correctly.

2004-05-04  Keisuke Nishida  <knishida@opencobol.org>

   * termio.c (display_numeric): Leading sign for binary.

2004-05-04  Keisuke Nishida  <knishida@opencobol.org>

   * byteswap.h (COB_BSWAP_32_IA32): Always use bswap.
   (We no longer support i386.)

2004-05-04  Keisuke Nishida  <knishida@opencobol.org>

   * fileio.c (cob_default_error_handle): Set error for status 35.

2004-05-04  Keisuke Nishida  <knishida@opencobol.org>

   * common.c (cob_runtime_error): Flush buffer at the end.

2004-04-07  Keisuke Nishida  <knishida@opencobol.org>

   * common.h, common.c (cob_table_sort_init, cob_table_sort_init_key)
   (cob_table_sort): New functions.

2004-04-07  Keisuke Nishida  <knishida@opencobol.org>

   * strings.c (cob_inspect_converting): Do not convert repeatedly.
   (Thanks to Richard Smith <rich@theforest.plus.com>)

2004-03-12  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

   * screenio.c: #include <ncurses.h>

2004-03-12  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

   * fileio.c (file_close): FILE *fp = f->file;

2004-03-10  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

   * fileio.c (cob_sort_init): Use temporary sort file.
   (cob_sort_finish): Delete sort file.
   (cob_open): No filename mapping for SORT files.

2004-03-09  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

   * move.c (cob_binary_set_int, cob_binary_set_int64): Reimplemented.
   (Thanks to Roger While)

2004-03-06  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

   * fileio.c (file_open): Open files in the text mode for line
   sequential files.

2004-03-06  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

   * fileio.c (file_open, file_close): Use fcntl for file locking.

2003-10-01  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.h (cob_module): New member 'flag_pretty_display'.
   * termio.c (display): Updated.

2003-09-29  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.c (cob_is_numeric): Test packed decimal.

2003-08-30  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.h (cob_module): Replace 'flag_binary_print_full' by
   'flag_binary_truncate'.  Related functions updated.

2003-08-29  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * termio.h (COB_SYSIN, COB_SYSOUT, COB_SYSERR): Removed.
   * termio.h, termio.c (cob_display_error): New function.
   (cob_newline_error): New function.

2003-08-27  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * fileio.c: Compile indexed and sort i/o only when either of
   HAVE_DBOPEN or WITH_DB is defined.

2003-08-26  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.h (cob_module): New member 'flag_filename_mapping'.
   * fileio.c (cob_open): filename mapping.

2003-08-26  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.h, common.c (cob_a2e, cob_e2a): New variables.

2003-08-25  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * fileio.c (sort_read): Bug fix of first read.

2003-08-25  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * fileio.h, fileio.c (cob_sort_init): 3rd argument 'sequence'.
   (cob_sort_finish): New function.

2003-08-22  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * Don't use run-time config file.
   * common.h, common.c (cob_config_lookup, cob_config_compare): Removed.
   * call.c (cob_init_call): Handle env "COB_DYNAMIC_RELOADING".

2003-08-21  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.h (cob_module): New member 'flag_binary_print_full'.
   * termio.c (cob_display): Binary full print.

2003-08-21  Keisuke Nishida  <kxn30@yahoo.co.jp>

   * common.h (cob_display_sign): New enum.
   (cob_module): New entry 'display_sign'.
   * common.c (cob_real_get_sign, cob_real_put_sign): Check display_sign.

2003-08-19  Keisuke Nishida  <knishida@netlab.jp>

   * termio.c (cob_accept_command_line): Omit the program name (argv[0]).

2003-08-17  Keisuke Nishida  <knishida@netlab.jp>

   * termio.h, termio.c (cob_display_environment): New function.
   (cob_accept_environment): Remove the second argument.

2003-08-12  Keisuke Nishida  <knishida@netlab.jp>

   * byteswap.h: New file.
   * byteorder.h: Removed.

2003-08-12  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_return_code): Removed.

2003-08-10  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (COB_FLAG_BINARY_SWAP): New macro.
   * move.h, move.c (cob_binary_get_int): New function.
   (cob_binary_get_int64): New function.
   (cob_binary_set_int): New function.
   (cob_binary_set_int64): New function.
   * common.h (COB_TYPE_NUMERIC_NATIVE): Removed.
   * common.h, common.c (cob_binary_convert): Removed.
   * move.c (cob_move_display_to_native): Removed.
   (cob_move_native_to_display): Removed.
   * numeric.c (cob_decimal_set_native): Removed.
   (cob_decimal_get_native): Removed.

2003-08-09  Keisuke Nishida  <knishida@netlab.jp>

   * call.c (cob_call_error): Exit with status 1.

2003-08-07  Keisuke Nishida  <knishida@netlab.jp>

   * byteorder.h: New file.
   * common.h (COB_TYPE_NUMERIC_NATIVE): New macro.
   * common.h, common.c (cob_binary_convert): New function.
   * move.c (cob_move_display_to_native): New function.
   (cob_move_native_to_display): New function.
   * numeric.c (cob_decimal_set_native): New function.
   (cob_decimal_get_native): New function.

2003-08-05  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (COB_WRITE_MASK, COB_WRITE_LINES, COB_WRITE_PAGE)
   (COB_WRITE_AFTER, COB_WRITE_BEFORE): New macros.
   * fileio.h, fileio.c (cob_write_page, cob_write_lines): Removed.
   (cob_write): Take third argument.
   * fileio.c (file_write_opt): New function.
   (FILE_WRITE_AFTER, FILE_WRITE_BEFORE): New macros.

2003-07-28  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_exception): Removed.

2003-06-29  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h, fileio.c (cob_sort_init): Removed the 3rd argument.
   (cob_sort_init_key): New function.

2003-06-28  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_cmp_result): Removed.

2003-06-25  Keisuke Nishida  <knishida@netlab.jp>

   * termio.c (cob_accept): Do not use readline.

2003-06-19  Keisuke Nishida  <knishida@netlab.jp>

   * common.c, common.h (cob_check_odo): New function.
   (cob_check_subscript_depending): Removed.

2003-06-18  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (relative_rewrite): Refer to the relative key unless
   the access mode is sequential.

2003-06-12  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (SEEK_INIT): New macro.

2003-06-07  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c, numeric.h: No longer use gmp.
   (cob_decimal_init, cob_decimal_clear): Removed.

2003-06-07  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_module): New member 'collating_sequence'.
   * common.c (CMP): New macro.
   (cmp_char, cmp_all, cmp_alnum): Use CMP.

2003-05-29  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_switch): Removed.
   * common.c (cob_set_switch, cob_get_switch): New function.

2003-05-27  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_module): Renamed from cob_environment.
   (cob_current_module): Renamed from cob_env.
   (cob_module_enter): Renamed from cob_push_environment.
   (cob_module_leave): Renamed from cob_pop_environment.
   (cob_module_init): Removed.
   * call.c (cob_resolve): Do not call cob_module_init.

2003-05-20  Keisuke Nishida  <knishida@netlab.jp>

   * strings.c (cob_string_delimited): New function.
   (cob_string_append): Take only one argument.

2003-05-18  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (ding_on_error): Removed.

2003-05-18  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c: Large file system support.
   (_LFS64_LARGEFILE) [WITH_LFS64]: Defined.
   (_LFS64_STDIO) [WITH_LFS64]: Defined.
   (_FILE_OFFSET_BITS) [WITH_LFS64]: Defined.
   (_LARGEFILE64_SOURCE) [WITH_LFS64]: Defined.

2003-05-18  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_d2i, cob_i2d): New macros.

2003-05-15  Keisuke Nishida  <knishida@netlab.jp>

   * move.c (COPY_COMMON_REGION): Removed.
   (store_common_region): New function.
   (cob_display_to_int): New function.
   (cob_binary_to_int): New function.
   (cob_get_int): Optimized.

2003-05-13  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (INITIAL_FLAGS): Set to O_BINARY when _WIN32 is defined
   rather than __MINGW32__.
   (file_open): Open in binary mode.
   (cob_open): Make sure that errno == ENOENT after stat.

2003-05-06  Keisuke Nishida  <knishida@netlab.jp>

   * exception.def (COB_EC_ALL): Added.
   * common.h (COB_SET_EXCEPTION): New macro.
   (cob_exception_table): New variable.
   (cob_exception_id): New enum.
   (cob_exception_code): Removed.

2003-05-04  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c: Optimized cob_add_int/cob_sub_int for DISPLAY.
   (digit_table): New variable.
   (init_digit_table): New function.
   (display_add_int, display_sub_int): New functions.
   (cob_add_int_to_display): New function.
   (cob_add_int): Call 'cob_add_int_to_display'.
   (cob_sub_int): Call 'cob_add_int'.
   (Thanks to David Korn <dgk@research.att.com>)

2003-05-04  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_get_sign, cob_put_sign): Redefined as macros.
   * common.c (cob_real_get_sign, cob_real_put_sign): Called from
   the above macros.

2003-05-03  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (COB_OPEN_NONE, COB_OPEN_LOCKED): New macros.
   (COB_CLOSE_REEL, COB_CLOSE_REEL_REMOVAL): Removed.
   (COB_FILE_CLOSED_WITH_LOCK): New macro.
   * fileio.c (sequential_close): Close with lock.
   (sequential_open): Seek to the end for extend file.
   (cob_open): Return COB_FILE_CLOSED_WITH_LOCK when file is locked.

2003-05-03  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_linage_counter): New variable.

2003-04-26  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_uint_attr, cob_sint_attr): Removed.
   (cob_ubin_attr, cob_sbin_attr): Removed.
   * move.c: Do not use them.

2003-04-03  Keisuke Nishida  <knishida@netlab.jp>

   * move.c (cob_get_int): Renamed from cob_to_int.

2003-03-30  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c (cob_decimal_set_int): Remove the 3rd argument 'decimals'.
   (cob_decimal_set_int64): Removed.

2003-03-25  Keisuke Nishida  <knishida@netlab.jp>

   * exception.def: New file.

2003-03-06  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (cob_field_to_string): Search for ' ' from backward.

2003-02-25  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (cob_push_environment, cob_pop_environment): New functions.

2003-01-23  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (cob_file): Break out flags.
   * fileio.c: Updated.

   * fileio.h, fileio.c (cob_dummy_status): Removed.
   * fileio.c (save_status): Check file_status before setting status.

2003-01-20  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (COB_FLAG_HAVE_SIGN): New macro.
   (COB_FLAG_SIGN_SEPARATE): New macro.
   (COB_FLAG_SIGN_LEADING): New macro.
   (COB_FLAG_BLANK_ZERO): New macro.
   (COB_FLAG_JUSTFIED): New macro.
   (COB_FIELD_HAVE_SIGN): New macro.
   (COB_FIELD_SIGN_SEPARATE): New macro.
   (COB_FIELD_SIGN_LEADING): New macro.
   (COB_FIELD_BLANK_ZERO): New macro.
   (COB_FIELD_JUSTIFIED): New macro.
   (cob_field_attr): Remove members 'have_sign', 'sign_separate',
   'sign_leading', 'blank_zero', and 'justified'.  New member
   'flags'.  All files updated.

2003-01-20  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.h (cob_decimal): Rename 'number' to 'data'.

2003-01-15  Keisuke Nishida  <knishida@netlab.jp>

   * move.c (cob_move_all): New function.
   (cob_move): Call cob_move_all.

2002-12-10  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_environment, cob_env): New.
   (cob_decimal_point, cob_currency_symbol, cob_numeric_separator):
   Replaced by cob_env.  All files updated.
   * common.c (cob_decimal_point, cob_currency_symbol): Removed.

2002-12-05  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (cob_index, cob_index_depending): Exit when index is
   out of range.

2002-11-25  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c (cob_decimal_get, cob_decimal_get_r): Copy decimal
   before modifying it.

2002-11-25  Keisuke Nishida  <knishida@netlab.jp>

   * strings.h (cob_inspect_init): Take second argument 'replacing'.
   (cob_inspect_characters): New function.
   (cob_inspect_all): New function.
   (cob_inspect_leading): New function.
   (cob_inspect_first): New function.

2002-11-25  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_cmp_int): New function.

2002-11-24  Keisuke Nishida  <knishida@netlab.jp>

   * move.h, move.c (cob_memcpy): Renamed from cob_mem_move.

   * fileio.h (COB_ASCENDING, COB_DESCENDING): Moved from common.h.

   * common.h (cob_field_attr): Remove member 'all'.
   (COB_TYPE_*): New macros.
   (COB_FIELD_IS_NUMERIC): New macro.

   * numeric.h (cob_d1, cob_d2, cob_d3, cob_d4, cob_dt): Removed.
   (cob_decimal_set_int64): Removed.
   * numeric.h, numeric.c (cob_numeric_cmp): New function.
   * common.c (cob_cmp): Call 'cob_numeric_cmp' for numeric comparison.
   * fileio.c (sort_compare): Always call cob_cmp.

2002-11-23  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.h, numeric.c (cob_add_r, cob_sub_r): New functions.
   (cob_decimal_get_r): Renamed from 'cob_decimal_get_rounded'.

2002-11-22  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h, fileio.c (cob_sort_init): Take 3 arguments.

2002-11-22  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_uint_attr, cob_sint_attr): New constants.
   * common.h, common.c (cob_ubin_attr, cob_sbin_attr): New constants.

2002-11-21  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.h, numeric.c (cob_add, cob_sub, cob_add_int, cob_sub_int):
   Don't take parameter 'round'.  All caller updated.

2002-11-19  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (lineseq_read): Not do anything special with '\0'.

2002-11-19  Keisuke Nishida  <knishida@netlab.jp>

   * strings.h, strings.c: Divide string functions.
   (cob_inspect, cob_string, cob_unstring): Removed.
   (cob_inspect_init): New function.
   (cob_inspect_start): New function.
   (cob_inspect_before): New function.
   (cob_inspect_after): New function.
   (cob_inspect_tallying_characters): New function.
   (cob_inspect_tallying_all): New function.
   (cob_inspect_tallying_leading): New function.
   (cob_inspect_replacing_characters): New function.
   (cob_inspect_replacing_all): New function.
   (cob_inspect_replacing_leading): New function.
   (cob_inspect_replacing_first): New function.
   (cob_inspect_converting): New function.
   (cob_inspect_finish): New function.
   (cob_string_init): New function.
   (cob_string_append): New function.
   (cob_string_finish): New function.
   (cob_unstring_init): New function.
   (cob_unstring_delimited): New function.
   (cob_unstring_init): New function.
   (cob_unstring_tallying): New function.
   (cob_unstring_finish): New function.
   * strings.h (COB_INSPECT_*, COB_STRING_*, COB_UNSTRING_*): Removed.

2002-11-13  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_all_attr): New variable.
   (cob_just_attr): Renamed from 'cob_alnum_justified_attr'.
   (cob_cmp): New function.
   (cob_cmp_zero, cob_cmp_space, cob_cmp_low): Removed.
   (cob_cmp_high, cob_cmp_quote, cob_cmp_field): Removed.
   * common.c (cmp_char): Renamed from 'cmp_figurative'.
   (cob_cmp_alnum): Renamed from 'cmp_field'.
   * fileio.c (sort_compare): Updated.

2002-11-13  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_status): Removed.
   (cob_error_code): New variable.
   (COB_STATUS_SUCCESS, COB_STATUS_OVERFLOW): Removed.
   (COB_EC_*): New macros.
   All files updated.

   * strings.h (COB_STRING_WITH_POINTER): Removed.
   (COB_UNSTRING_WITH_POINTER): Removed.
   * strings.h, strings.c (cob_string, cob_unstring): Take second
   argument 'ptr'.
   * strings.c (set_int, add_int): Removed.

2002-11-11  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (COB_FILE_OUT_OF_KEY_RANGE): New macro.
   * fileio.c (relative_read_next): Use COB_FILE_OUT_OF_KEY_RANGE.
   (cob_default_error_handle): Add COB_FILE_OUT_OF_KEY_RANGE.

2002-11-08  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_field_attr): New member 'all'.
   * common.c, common.h (cob_cmp_str, cob_cmp_all): Removed.
   * common.c (cob_cmp_field): Integrate comparison functions.

2002-11-08  Keisuke Nishida  <knishida@netlab.jp>

   * support.h: Removed.
   * Makefile.am: Remove support.h.

2002-11-07  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c, numeric.h (cob_add_int, cob_sub_int): Do not take
   argument 'decimals'.  All callers updated.

2002-10-21  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (cmp_figurative): New function.
   * common.c, common.h (cob_cmp_zero, cob_cmp_space): New functions.
   (cob_cmp_low, cob_cmp_high, cob_cmp_quote): New functions.

2002-10-18  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.h, numeric.c (cob_add_int64, cob_sub_int64): Removed.

2002-10-13  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (cob_file): New member 'record', replacing
   'record_size' and 'record_data'.
   (cob_file): Rename 'record_depending' to 'record_size'.
   * fileio.c: Updated.

2002-10-13  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_field_attr, cob_field): New typedef.
   * fileio.h (cob_file_key, cob_file, cob_fileio_funcs): New typedef.
   * numeric.h (cob_decimal): New typedef.
   * screenio.h (cob_screen): New typedef.
   (cob_screen_type, cob_screen_data, cob_screen_position): New typedef.
   * support.h (cob_frame): New typedef.

2002-10-08  Keisuke Nishida  <knishida@netlab.jp>

   * Use 'struct cob_field *' instead of 'struct cob_field'
   for all function prototypes.  All files updated.
   * common.h (COB_FIELD_IS_VALID): Removed.

   * common.h (cob_field_attr): Renamed from cob_field_desc.
   All files updated.

   * common.c, common.h (cob_group_attr): New variable.
   (cob_alnum_justified_attr): New variable.

   * support.h (cob_ref, cob_ref_rest): Removed.

2002-09-30  Keisuke Nishida  <knishida@netlab.jp>

   * cobconfig.h.in: Removed.

2002-09-29  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (cob_file): Restructured.
   * fileio.c: Updated for new cob_file scheme.
   * fileio.h, fileio.c (cob_sort_init): Renamed from cob_sort_keys.
   * cobconfig.h.in (HAVE_DB1_DB_H, HAVE_DB_H): Removed.

2002-09-24  Keisuke Nishida  <knishida@netlab.jp>

   * support.h: Do not support non-computed-goto jump.
   * cobconfig.h.in: Use AM_CONFIG_HEADER scheme.
   (COB_HAVE_COMPUTED_GOTO): Removed.
   (HAVE_DB1_DB_H, HAVE_DB_H): Added.
   * fileio.h: #include <libcob/cobconfig.h>
   Include <db1/db.h> or <db.h> which exists.

2002-09-23  Keisuke Nishida  <knishida@netlab.jp>

   * strings.c (cob_unstring): Don't use alloca.

2002-09-12  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.h (cob_decimal): Use exponent instead of decimals.
   * numeric.c: Related functions updated.

2002-09-12  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (sequential_open): Set f->file.fd to 0 on error.

2002-09-06  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h, fileio.c: INDEXED files has been reimplemented using db1.

2002-08-05  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (sort_compare): Prototype for db-3.1.x.

2002-08-02  Keisuke Nishida  <knishida@netlab.jp>

   * common.h, common.c (cob_cmp_all): Unify the former cob_cmp_all
   and cob_cmp_all_str.
   * common.c (cmp_internal): New function.
   (cob_cmp_str, cob_cmp_field): Use it.

2002-08-01  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (COB_ORG_SORT, COB_ORG_MAX): New macros.
   (cob_file): New member 'sort_nkeys' and 'sort_keys'.
   * fileio.c (sort_file): New variable.
   (sort_compare, sort_open, sort_close, sort_read, sort_write):
   New functions.
   (sort_funcs): New variable.
   (cob_sort_keys, cob_sort_using, cob_sort_giving): New functions.
   (cob_init_fileio): Init sort functions.

2002-08-01  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (COB_ASCENDING, COB_DESCENDING): New macros.

2002-07-31  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (cob_init_config): New function.
   (cob_init): Updated.  Load the config file first.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (indexed_write_internal): New function.
   (indexed_write, indexed_rewrite): Updated.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.c (lineseq_read): Check for EOF.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (cob_fileio_funcs): 'write' takes only one argument.
   (sequential_write, lineseq_write, relative_write, indexed_write):Ditto.
   (cob_write): Updated.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

   * screenio.c: Check configuration.

2002-07-24  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.h (cob_decimal): Removed.
   * numeric.c, numeric.h: Relace 'cob_decimal' by 'struct cob_decimal *'.

2002-07-14  Keisuke Nishida  <knishida@netlab.jp>

   * move.c (cob_set_int): Moved from numeric.c.
   Reimplemented using 'cob_move'.

2002-07-13  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c (cob_decimal_get_double): Bug fix in calculation.
   (cob_decimal_set_double): Take effect of decimal figures.

2002-07-08  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (cob_file): New field 'assign'.
   * fileio.c, fileio.h (cob_open): Do not take file name.  Use 'assign'.

2002-07-05  Keisuke Nishida  <knishida@netlab.jp>

   * screenio.c, screenio.h (cob_screen_attr): New function.
   * screenio.h (COB_SCREEN_TYPE_ATTRIBUTE): New type.
   (cob_screen_data): New entry 'dummy'.

2002-07-05  Keisuke Nishida  <knishida@netlab.jp>

   * fileio.h (cob_file): Renamed from cob_file_desc.
   * fileio.c: Updated.

2002-07-01  Keisuke Nishida  <knishida@netlab.jp>

   * screenio.c, screenio.h: New files.
   * Makefile.am: Add them.

2002-06-17  Keisuke Nishida  <knishida@netlab.jp>

   * call.c (cob_call_resolve): Don't set cob_status.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

   * call.c (cob_resolve): Use COB_MODULE_EXT.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

   * common.c, common.h (cob_alnum_desc): New variable.
   * common.c (cob_zero, cob_space, cob_high, cob_low, cob_quote): Use it.
   * move.c (cob_mem_move): Use it.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

   * Allow cob_field.desc to be NULL.
   * common.h, common.c, move.c, numeric.c: Updated.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (COB_FIELD_IS_VALID): New macro.
   * fileio.c, strings.c: Use 'COB_FIELD_IS_VALID'.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

   * common.h (cob_field): Field 'size' moved from 'cob_field_desc'.
   (COB_FIELD_SIZE, COB_FIELD_DATA): Removed.
   * common.c, fileio.c, move.c, numeric.c, strings.c, termio.c: Updated.

2002-06-04  Keisuke Nishida  <knishida@netlab.jp>

   * common.c, common.h (cob_config_compare): New function.
   * call.c (cob_init_call): Use 'cob_config_compare'.

   * common.c (ding_on_error): New variable.
   (cob_init): Set ding_on_error from option "ding-on-error".
   (cob_runtime_error): Ring a bell only when "ding-on-error" is "yes".

2002-06-04  Keisuke Nishida  <knishida@netlab.jp>

   * support.h (cob_perform): Enclosed by do ... while (0).

2002-06-04  Keisuke Nishida  <knishida@netlab.jp>

   * Makefile.am (libcob_la_CFLAGS): -I$(top_srcdir).
   * call.c, common.c, fileio.c, move.c: Updated.

2002-05-31  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c, numeric.h (cob_div_remainder): Renamed from
   'cob_div_reminder' (typo fix).

2002-05-31  Keisuke Nishida  <knishida@netlab.jp>

   * common.c, common.h (cob_index, cob_index_depending): Take 'name'.
   Display index name with the error message.
   * support.h (COB_INDEX, COB_INDEX_DEPENDING): Take 'name'.

2002-05-31  Keisuke Nishida  <knishida@netlab.jp>

   * Makefile.am (libcob_la_DEPENDENCIES): Removed.

2002-05-30  Keisuke Nishida  <knishida@netlab.jp>

   * common.c (cob_check_numeric): Takes the field name as an argument.
   * common.h (cob_field_desc): Remove member 'name'.

2002-05-30  Keisuke Nishida  <knishida@netlab.jp>

   * numeric.c (cob_decimal_pow): Handle decimals.
   (cob_decimal_set_double, cob_decimal_get_double): New functions.
   * numeric.h (cob_decimal_set_double, cob_decimal_get_double): Exported.

2002-05-29  Keisuke Nishida  <knishida@netlab.jp>

   * Keep field names at run-time.
   * common.h (cob_field_desc): New member 'name'.
   * common.c (cob_check_numeric): Display filed name on error.

   * Makefile.am (libcob_la_DEPENDENCIES): Add defaults.h.

2002-05-29  Keisuke Nishida  <knishida@netlab.jp>

   * termio.c (cob_init_termio): #include <string.h>

2002-05-29  Keisuke Nishida  <knishida@netlab.jp>

   * Support run-time config file: libcob.conf.
   * common.c (config_load, config_insert, cob_config_lookup):
   New functions.
   (cob_init): Call 'config_load'.
   * common.h (cob_config_lookup): Declared.

   * call.c (dynamic_reloading): Renamed from cob_dynamic_reloading.
   (cob_init_call): Initialize 'dynamic_reloading'.
