1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812
|
2013-09-15 Ivano Primi <ivprimi(atlibero(dot)it>
* Version 5.8.1 released.
* config.h.in (VERSION): From 5.8.0 to 5.8.1.
* NEWS: Added news for version 5.8.1.
* Makefile.in (VERSION): From 5.8.0 to 5.8.1.
2013-08-28 Ivano Primi <ivprimi(at)libero(dot)it>
* Version 5.8.0 released.
* BUGS: Doc fixes.
* BUGS: Added description of the bug discovered by Elias Pipping
and a hint on how to avoid it.
2013-08-26 Ivano Primi <ivprimi(at)libero(dot)it>
* INSTALL: Doc fixes.
* BUGS: Added remind: specify if the operating system is
either 32- or 64-bit.
* NEWS: Added news for version 5.8.0.
2013-08-25 Ivano Primi <ivprimi(at)libero(dot)it>
* util.c: Added instruction to include linesplit.h
Added declaration of the external variable def_ifs.
(lines_differ): ifs and Ifs redefined as const char**.
(lines_differ): IFS replaced by def_ifs.
(lines_differ): for cycle to initialize f1 and
let it point to the first field of s1
replaced by a call to string_spn().
(lines_differ): for cycle to initialize f2 and
let it point to the first field of s2
replaced by a call to string_spn().
(lines_differ): Every couple of for cycles to move f1
to the beginning of the next field has been replaced
by a call to string_cspn() and a call to string_spn().
(lines_differ): Every couple of for cycles to move f2
to the beginning of the next field has been replaced
by a call to string_cspn() and a call to string_spn().
(lines_differ): for cycle to set e1 and let it point to
the end of the field pointed to by f1 replaced by a call
to string_cspn().
(lines_differ): for cycle to set e2 and let it point to
the end of the field pointed to by f2 replaced by a call
to string_cspn().
(lines_differ): The instructions
f1 = e1; f2 = e2;
have been removed from block of else if ((f1_is_blurred)) .
(lines_differ): The instructions
f1 = e1; f2 = e2;
have been removed from `else' block of
if ( (compare_numeric_strings (f1, pnf, f2, Pnf)) ) .
(lines_differ): for cycle to move f1 from the end of a
field to the beginning of the next field replaced by
a call to string_spn().
(lines_differ): for cycle to move f2 from the end of a
field to the beginning of the next field replaced by
a call to string_spn().
2013-08-22 Ivano Primi <ivprimi(at)libero(dot)it>
* thrlist.c, README: Doc fixes.
* read_line.c:
[_TEST_READ_LINE_]: Added instructions to include stdio.h, stdlib.h, and string.h
[_TEST_READ_LINE_]: New macro constant BUFF_SIZE
[_TEST_READ_LINE_]: New macro constants for error codes:
OK, LINE_INTERR, EOF_REACHED, READING_ERROR, OUT_OF_MEMORY, OPEN_FAILED,
WRONG_USAGE, FILE_IS_BINARY.
(read_line): New variables n, ch, exception_occurred.
(read_line): Cycle while ((ptr = fgets (buffer, BUFF_SIZE,pf))) { ... }
replaced by do { ... } while (!exception_occurred); (do not rely anymore
on function fgets() to read input lines, but use getc()).
(read_line): Test if(!ptr) replaced by if ((exception_occurred)) .
(read_line): Added test else if ( ch == '\0' ) . If the condition is true,
*errcode is set to FILE_IS_BINARY.
[_TEST_READ_LINE_] (main): New function.
Doc fixes.
* options.c: Added instruction to include linesplit.h
(print_version): Fixed copyright string.
(print_help): New help entry for options --delimiters,
help message for option -s improved.
(print_help): Since the short option for --dummy is not -D anymore but -U,
the format strings for a couple of printf() calls have been changed.
(return_ifs): function removed.
(setargs): Changed initialization of optstring.
(setargs): Since the short option for --dummy is not -D anymore but -U,
the entry for the option "dummy" in the array long_options has been
changed.
(setargs): Since the short option for --dummy is not -D anymore but -U,
the label of the corresponding case in switch (optch){...}
is now 'U' instead of 'D'.
(setargs): _SD_MASK replaced by _SU_MASK.
(setargs): Long option "separator" changed to "separators".
(setargs): Added entry for option "delimiters" to the array long_options.
(setargs): Instead of using xstrdup(), list->nf1.currency and
list->nf2.currency are now initialized by means of
a call to get_separating_string().
(setargs): The memory reserved for list->ifs1 and list->ifs2 is now
freed by calling delete_string_vector() instead of free().
(setargs): ssplit_former_way() is now used in place of return_ifs().
(setargs): Added if statements to print a suitable error message and
return -1 in case ssplit_former_way() returns NULL (to indicate a failure).
(setargs): To check for the presence of the newline character
in list->ifs1 and list->ifs2 the function is_string_in_vector() is used
in place of strchr().
(setargs): Before `adding' _S_MASK to list->optmask,
the functions remove_duplicates_from_string_vector() and
sort_string_vector() are called on list->ifs1 and list->ifs2.
(setargs): Added case D to switch statement.
(setargs): In case c the function get_separating_string() is now used
in place of xstrdup() to set list->nf1.currency and list->nf2.currency.
Doc fixes.
2013-08-18 Ivano Primi <ivprimi(at)libero(dot)it>
* numutil.c: Doc fixes.
* numdiff.h (FILE_IS_BINARY): New macro.
(argslist): Changed declaration of the fields ifs1 and ifs2.
(_SD_MASK): Macro removed.
(_SU_MASK): New macro.
(IFS): Macro removed.
Doc fixes.
* new.c: Doc fixes.
* ndselect.h (Argslist): Changed declaration of field ifs.
(Argslist): New field osep.
New macros ___SD_MASK and ___SO_MASK.
Redefinition of macros ___X_MASK and ___V_MASK.
Doc fixes.
* ndselect.c: Added instruction to include linesplit.h.
(return_ifs): function removed.
(print_line): Signature and definition changed. All callers changed.
(print_line): strspn() and strcspn() replaced by
string_spn() and string_cspn() respectively.
(print_line): The setting of the variable stop depends now
on the value of the variable osep.
(print_line): If osep is not NULL, it is printed to the standard
output after every selected field.
(scan_file): Signature and definition changed. All callers changed.
(scan_file): Definition of ifs changed.
(scan_file): IFS replaced by def_ifs.
(scan_file): calls to print_line() changed.
(print_selversion): Fixed copyright string.
(print_selhelp): New help entries for options -D and -O,
help message for option -S improved.
(set_args): Changed initialization of optstring.
(set_args): Added entries for options "delimiters"
and "output-separator" to the array long_options.
(set_args): Long option "separator" changed to "separators".
(set_args): Added initialization code for list->osep.
(set_args): The memory reserved for list.ifs is now
freed by calling delete_string_vector() instead of free(),
and after list->ifs is reinitialized to NULL.
(set_args): ssplit_former_way() is now used in place of return_ifs().
(set_args): To check for the presence of the newline character
in list->ifs the function is_string_in_vector() is used
in place of strchr().
(set_args): Before `adding' ___SS_MASK to list->optmask,
the functions remove_duplicates_from_string_vector() and
sort_string_vector() are called on list->ifs.
(set_args): Added cases D and O to switch statement.
Added definition of static variable def_ifs.
(clean_up_memory): New function.
(main): def_ifs is properly initialized by means of
a call to ssplit().
(main): clean_up_memory() is registered through atexit() to
be called at process termination.
(main): If either the call to atexit() or the
initialization of def_ifs fails, the program exits after
printing a suitable error message.
(main): Changed call to scan_file().
Doc fixes.
* Makefile.in (VERSION): From 5.6.1 to 5.8.0.
(OBJECTS): Added ./linesplit.o.
(OBJECTSONE): Added ./linesplit.o.
(OBJECTSTWO): Added ./linesplit.o.
(SOURCESONE): Added $(srcdir)/linesplit.c.
(SOURCESTWO): Added $(srcdir)/linesplit.c.
(copy): Added commands to copy $(srcdir)/linesplit.c and $(srcdir)/linesplit.h.
Doc fixes.
* main.c: Added instruction to include linesplit.h.
Added definition of the external variable def_ifs.
(main): def_ifs is properly initialized by calling the function ssplit(),
added if statement to check for the successful initialization.
(main): The memory reserved for list.ifs1 and list.ifs2 is now
freed by calling delete_string_vector() instead of free().
(main): Before exiting the program, the function delete_string_vector()
is called to free the memory previously reserved for def_ifs.
(main): variable test is now initialized to 0 instead of -1.
(main): If the call to open_files() fails, the memory is cleaned now
before exiting the program.
(main): If compare_files() returns a negative value, the program
now exits after printing a suitable error message.
(main): Now, if either rewind_files() or set_file_pointers() fails,
the memory is cleaned and all files are properly closed
before exiting the program.
Doc fixes.
* io.c, INSTALL: Doc fixes.
* inout.c: Added instruction to include linesplit.h.
(find_and_hash_each_line): Signature and definition changed, all callers changed.
(find_and_hash_each_line): for cycle to initialize p and
let it point to the first field replaced by a call to string_spn().
(find_and_hash_each_line): for cycle to initialize eof
replaced by a call to string_cspn().
(find_and_hash_each_line): for cycle to move p to the
beginning of the next field replaced by a call to string_spn().
Added declaration of the external variable def_ifs.
(read_files): ifs1 and ifs2 redefined as char**.
(read_files): IFS replaced by def_ifs.
(read_files): call to find_and_hash_each_line() changed.
Doc fixes.
* flags.c, errors.c: Doc fixes.
* configure.ac: AC_INIT(...): From version 5.6 to 5.8.
Doc fixes.
* config.h.in (VERSION): From 5.6.1 to 5.8.0.
Doc fixes.
* cmpfns.c: Added instruction to include linesplit.h.
(cmp_lines): Signature and definition changed. All callers changed.
(cmp_lines): New local variables end_field1, end_field2.
(cmp_lines): strspn() and strcspn() replaced by
string_spn() and string_cspn(), respectively.
(cmp_lines): _SD_MASK replaced by _SU_MASK.
Added declaration of the external variable def_ifs.
(cmp_files): ifs1 and ifs2 redefined as char**.
(cmp_files): IFS replaced by def_ifs.
(cmp_files): Changed calls to cmp_lines().
(cmp_files): The if condition catching any error occurred
while comparing corresponding lines has been extended:
the error FILE_IS_BINARY is also caught now.
(cmp_files): A suitable error message is printed if one
of the two compared files is binary.
(cmp_files): Message for reading error fixed.
(cmp_files): Format of error message fixed.
Doc fixes.
* AUTHORS, arith.c: Doc fixes.
* analyze.c (diff_2_files): The instruction which sets the value of
the variable changes has been modified to ensure
that the returned value is either 0 or 1.
2013-07-11 Ivano Primi <ivprimi(at)libero(dot)it>
* linesplit.h, linesplit.c: New file.
2012-02-22 Ivano Primi <ivprimi(at)libero(dot)it>
* Version 5.6.1 released.
* config.h.in (VERSION): From 5.6.0 to 5.6.1.
* Makefile.in: VERSION changed to 5.6.1.
* NEWS: Added news for version 5.6.1.
* Makefile.in (installdirs): Added $(MKDIR) $(DESTDIR)$(MANDIR).
2012-02-12 Ivano Primi <ivprimi(at)libero(dot)it>
* Version 5.6.0 released.
* side.c (display_half_line):
label control_char replaced by control_character.
2012-02-05 Ivano Primi <ivprimi(at)libero(dot)it>
* NEWS: Dox fixes.
* main.c (compare_files):
Newline not any more printed, since it makes the report unclear.
* inout.c (_DEBUG_HASHING_): New Macro.
_DEBUG_ has been replaced by _DEBUG_HASHING_.
(find_and_hash_each_line): Fixed improper handling of a file whose last line
does not have a trailing newline (bucket[-1] no longer used).
(find_and_hash_each_line): Bug fix imported from GNU Diffutils 3.0.
(find_and_hash_each_line)[_DEBUG_HASHING_]: Added code for debug.
(find_identical_ends): Bug fix imported from GNU Diffutils 3.0.
* flags.c:
(notedown_sdiff_script)[_DEBUG_FLAGSTABLE_]: New debug instruction.
* cmpfns.c (cmp_files):
Fixed improper handling of files whose last line
does not have a trailing newline in case filter is on.
* numdiff.h (_DEBUG_HASHING_): New Macro.
_DEBUG_ has been replaced by _DEBUG_HASHING_.
* options.c (print_help): two help entries fixed.
2012-01-05 Ivano Primi <ivprimi(at)libero(dot)it>
* ndselect.c (print_selhelp): Several fixes to help entries.
* options.c (print_help): Several fixes to help entries.
* cmpfns.c (cmp_lines):
New constant fieldno_upper_limit, set to 8*FIELDMASK_SIZE.
(cmp_lines): Constant value 8*FIELDMASK_SIZE replaced everywhere
by fieldno_upper_limit.
2012-01-03 Ivano Primi <ivprimi(at)libero(dot)it>
* NEWS: Doc fixes.
* ndselect.c (print_line): Signature changed. All callers changed.
(print_line): Added if-else statement based on the value of
the variable omit_if_empty.
(scan_file): New variable omit_empty_lines, added
initialization code.
(print_selhelp): New help entry for option `-x',
help message improved.
(set_args): Changed initialization of optstring.
(set_args): Added entry for option "omit-empty-lines" to the array long_options.
(set_args): Added case 'x' to switch statement.
* ndselect.h (___X_MASK): New macro.
(___V_MASK): The value of this macro has been changed.
2012-01-02 Ivano Primi <ivprimi(at)libero(dot)it>
* Makefile.in (MANFILETWO): changed description of the manpage.
* NEWS: Doc fixes.
* options.c (print_help):
New help entry for option -F, other help messages improved.
(setargs): Changed initialization of optstring.
(setargs): Added entry for option "formula" to the array long_options.
(setargs): Added case 'F' to switch statement.
(setargs): Removed initial if-else if-else statement from case 'r',
replaced by a single call to thrlist_add.
(setargs): Parentheses have been written around operator &.
* numdiff.h: Doc fixes.
* ndselect.h (Argslist):
New fields first_field, last_field, increment, and ifs.
(___SF_MASK ___SL_MASK ___SI_MASK ___SS_MASK): New macros.
(___V_MASK): The value of this macro has been changed.
Doc fixes.
* ndselect.c (return_ifs): New function, copied from options.c.
(we_can_go_on): New function.
(print_line): New function.
(scan_file): New variable ifs, then added initialization code for ifs.
(scan_file): call to fputs replaced by call to print_line (done twice).
(print_selhelp): New help entries for options -F, -L, -I and -S,
other help messages improved.
(set_args): Changed initialization of optstring.
(set_args): Added entries for "first-field", "last-field", "increment" and
"separator" options to the array long_options.
(set_args): Added initialization code for list->first_field, list->last_field,
list->increment and list->ifs.
(set_args): Added cases F, L, I and S to switch statement.
Doc fixes.
2011-12-31 Ivano Primi <ivprimi(at)libero(dot)it>
* util.c (lines_differ):
New constant fieldno_upper_limit, set to 8*FIELDMASK_SIZE.
(lines_differ): 8*FIELDMASK_SIZE replaced by fieldno_upper_limit everywhere.
(lines_differ): Error message "Line \"%s\"\ncontains too many fields!\n"
replaced by a clearer explanation, which is sent to stderr through fprintf.
* thrlist.c (defaults): Added field CURRENCY.
(thrlist_new): list->beg1, list->beg2, and list->end1, list->end2
are initialized now with 0 and FIELDNO_MAX - 1 respectively.
(thrlist_new): list->double_range_spec is set to zero.
(set_interval): *b and *e are set now to beg-1 and end-1 respectively.
(set_intervals): Signature has been changed. All callers changed.
(set_intervals): Added code to set the variable pointed to by dbl_rng_spec.
(thrlist_add): New variable dbl_rng_spec.
(thrlist_add): beg1, beg2, and end1, end2 are initialized
now with 0 and FIELDNO_MAX - 1 respectively.
(thrlist_add): pnode->double_range_spec set to dbl_rng_spec.
(thrlist_cmp): The value returned by this function depends now also on the value
of pnode->double_range_spec.
Doc fixes.
* options.c (print_version): Copyright statement updated.
(print_help): Help strings have been updated or improved.
New help entries for options `-c' and `-B'.
Added instruction to display the default value of the currency name.
(VALID_NUMFMT INVALID_NUMFMT INVALID_CURRENCY): New macros.
(valid_numfmt): Name changed to is_numfmt_valid. All callers changed.
(valid_numfmt): New variable ptr.
(valid_numfmt): Macros VALID_NUMFMT, INVALID_NUMFMT and INVALID_CURRENCY are used
in the 'return' statements in place of hardcoded integer values.
(valid_numfmt): Added code to check the validity of the string pointed to by
pnf->currency.
(setargs): New constant mask_size, defined as FIELDMASK_SIZE*8.
(setargs): modified string pointed to by optstring.
(setargs): Added entries for "binary" and "currency" options to the array long_options.
(setargs): New variables binary, rv and file_id.
(setargs): Removed variable defaults.
(setargs): Added initialization of variable binary.
(setargs): Added initialization of list->nf*.currency.
(setargs): Added cases 'B' and 'c' to switch statement.
(setargs): FIELDMASK_SIZE*8 replaced by mask_size everywhere.
(setargs)[USE_GMP]: Removed call to delR(), removed directive (done twice).
(setargs): thrlist_add is used in place of str2R to add new elements to
list->maxabserr and list->maxrelerr. Error handling consequently updated.
(setargs): tests "if (!valid_numfmt(&list->nf*) )" replaced by
"if ( (rv = is_numfmt_valid(&list->nf*)) == INVALID_NUMFMT )"
(setargs): Added code to handle the cases when is_numfmt_valid returns INVALID_CURRENCY.
Doc fixes.
* numutil.c (anum):
New variable length, used to store the length of the string pnf->currency.
Added code to skip the currency name, if specified.
(snum): New variable length, used to store the length of the string pnf->currency.
Added code to skip the currency name, if specified.
Doc fixes.
* numdiff.h (currency): New variable.
(maxabserr maxrelerr): Variable type has been changed.
(CURRENCY): New macro.
(binary): New variable.
Doc fixes.
* new.c (bc_a2num): New variable length, used to store
the length of the string pnf->currency. Added
code to skip the currency name, if specified.
Doc fixes.
* ndselect.c (print_selversion): Copyright statement updated.
Doc fixes.
* Makefile.in: VERSION set to 5.6.0.
(mandir MANDIR HELP2MAN MANFILE MANFILETWO): New variables.
(OBJECTSTWO): Added ./getopt1.o.
(SOURCESTWO): Added $(srcdir)/getopt1.c.
(man $(MANFILE) $(MANFILETWO)): New targets
for creation of manpages.
(install): Added installation of manpages.
(uninstall): Added removal of files
$(PACKAGE).1 and $(PACKAGETWO).1, i.e.
removal of numdiff and ndselect manpages.
(maintainer-clean): Added cleaning instructions for
$(MANFILE) and $(MANFILETWO).
(copy): Added instructions to copy $(MANFILE)
and (MANFILETWO) from docs directory to tarball directory.
* main.c (init_mpa_support): list->maxabserr and
list->maxrelerr are now initialized through
a call to thrlist_new(), instead of using initR().
(dismiss_mpa_support): list->maxabserr and
list->maxrelerr are now disposed through a call
to thrlist_dispose(), instead of using delR().
(main): variable defaults removed.
Doc fixes.
* configure.ac: AC_INIT(...): From version 5.2 to 5.6.
* NEWS: Added news for version 5.6.0.
2011-12-30 Ivano Primi <ivprimi(at)libero(dot)it>
* README, read_line.c, ndselect.h, io.c, INSTALL: Doc fixes.
* inout.c (find_and_hash_each_line): New constant fieldno_upper_limit,
set to FIELDMASK_SIZE*8.
(find_and_hash_each_line): Added test "fieldno < fieldno_upper_limit" to for cycle.
(find_and_hash_each_line): Added error handling in case
fieldno >= fieldno_upper_limit.
* flags.c, errors.c: Doc fixes.
* configure.ac:
AC_CHECK_LIB(gmp, __gmpz_init): Do not search for the GMP library
if its use has been turned off through --disable-gmp or
--enable-gmp=no.
AC_CHECK_LIB(intl, setlocale): If the support for NLS is on, search
for the function setlocale in libintl (this fixes building bug
under Cygwin).
Doc fixes.
* config.h.in: VERSION changed to 5.6.0.
Doc fixes.
* cmpfns.c (cmp_fields): Signature changed. All callers changed.
(cmp_fields): Calls to cmp replaced by calls to thrlist_cmp.
(cmp_lines): Error message "@ Line %lu in file \"%s\" contains too many fields!\n" replaced by a clearer message.
(cmp_files): Error message "\n*** End of file \"%s\" reached while trying to read line %lu.\n" replaced by clearer message.
Doc fixes.
* AUTHORS, arith.c: Doc fixes.
2011-10-30 Ivano Primi <ivprimi(at)libero(dot)it>
* Makefile.in (OBJECTS OBJECTSONE): Added ./thrlist.o.
(SOURCESONE): Added source $(srcdir)/thrlist.c.
(copy): Added instruction to copy thrlist.c
from source directory to tarball directory.
* numdiff.h (THRLIST_OK THRLIST_INVALID_FORMAT THRLIST_INVALID_RANGES):
New macros.
(__thrlist_node): New struct.
(thrlist_node): Alias for __thrlist_node.
(thrlist): Alias for thrlist_node*.
(thrlist_new thrlist_add thrlist_cmp thrlist_dispose): Added declarations.
* thrlist.c: New file.
2011-10-01 Ivano Primi <ivprimi(at)libero(dot)it>
* side.c (display_half_line): New function.
(print_1overview_line): New function.
* options.c (print_help): New help entry for option -O.
(setargs): modified string pointed to by optstring.
(setargs): Added entry for "overview" option to the array long_options.
(setargs): Added case O to switch statement.
(setargs): Added code to initialize list->output_mode to OUTMODE_OVERVIEW.
* numdiff.h (_SO_MASK): New macro for option -O.
(_SS_MASK _SI_MASK _SH_MASK _M_MASK _V_MASK): The values of these macros have been changed.
(OUTMODE_OVERVIEW): New macro.
(print_1overview_line): Added declaration.
Doc fixes.
* Makefile.in: VERSION changed to 5.3.0.
* config.h.in: VERSION set to 5.3.0.
* cmpfns.c (cmp_files):
Addition of code for the implementation of the overview mode,
i.e. added calls to the function print_1overview_line. In case the compared
files are equal, print_1overview_line is called only if suppress_common_lines
is false (0).
2010-01-24 Ivano Primi <ivprimi(at)libero(dot)it>
Version 5.2.1 released.
2010-01-24 Ivano Primi <ivprimi(at)libero(dot)it>
* Makefile.in: VERSION changed to 5.2.1.
* config.h.in (VERSION): From 5.2.0 to 5.2.1.
* NEWS: Added news for version 5.2.1.
* system.h: [!ENABLE_NLS] (ngettext): Macro definition.
2010-01-07 Ivano Primi <ivprimi(at)libero(dot)it>
Version 5.2.0 released.
2010-01-07 Ivano Primi <ivprimi(at)libero(dot)it>
* util.c: Doc fixes.
* util.c: New file.
* side.c: Doc fixes.
* side.c: New file.
* inout.c: Doc fixes.
* inout.c: New file.
* analyze.c: Doc fixes.
* analyze.c: New file.
* number.c: Doc fixes.
* options.c: (print_version) [!USE_GMP]: Message string fixed.
(print_help): Message string fixed.
2010-01-06 Ivano Primi <ivprimi(at)libero(dot)it>
* NEWS, INSTALL: Doc fixes.
2010-01-05 Ivano Primi <ivprimi(at)libero(dot)it>
* ndselect.c (print_selversion): Fixed Copyright string.
* read_line.c: Doc fixes.
* options.c: Doc fixes.
(print_version): Fixed Copyright string.
* numutil.c, numdiff.h, number.c: Doc fixes.
* number.c: New file.
* new.c, ndselect.h: Doc fixes.
* ndselect.h: New file.
* ndselect.c, main.c, io.c, flags.c: Doc fixes.
* flags.c: New file.
* errors.c, configure.ac, config.h.in, cmpfns.c, arith.c, README:
Doc fixes.
* README: New file.
* Makefile.in, INSTALL: Doc fixes.
* INSTALL, BUGS: New file.
* AUTHORS: Doc fixes.
* AUTHORS: New file.
2010-01-03 Ivano Primi <ivprimi(at)libero(dot)it>
* ndselect.c: [USE_GMP]: Removed zalloc.
string.h and numutil.c are not anymore included.
Removed declaration of read_line.
Include read_line.c.
* Makefile.in (SOURCESONE): Added $(srcdir)/read_line.c.
(OBJECTSTWO): Removed ./arith.o and ./io.o.
(SOURCESTWO): Removed $(srcdir)/arith.c and $(srcdir)/io.c.
Added $(srcdir)/read_line.c.
(copy): Added instruction to copy read_line.c
from source directory to tarball directory.
* io.c: Doc-fixes: Removed unuseful comments.
(read_line): Moved to file read_line.c.
Added instruction to include read_line.c.
* read_line.c, io.c: New file.
* arith.c: [USE_GMP] (str2C): Replaced isspace by is_space.
Replaced '+' by POS_SIGN and '-' by NEG_SIGN.
[!USE_GMP] (str2C): Replaced isspace by is_space.
Replaced '+' by POS_SIGN and '-' by NEG_SIGN.
* ndselect.c (setargs): Replaced isspace by is_space.
* numdiff.h (is_digit, is_punct, is_print): Macro re-definition.
(is_space): Macro definition. The macro isspace has been
replaced everywhere by is_space.
* system.h: New file.
* numutil.c (anum, snum): Replaced toupper by TOLOWER.
(anum, acxnum, snum, scxnum): Replaced isspace by is_space.
* cmpfns.c (strNcasecmp): Replaced tolower by TOLOWER.
* new.c (bc_a2num): Replaced toupper by TOLOWER.
Replaced isspace by is_space.
* new.c: New file.
2009-12-30 Ivano Primi <ivprimi(at)libero(dot)it>
* NEWS: Added news for version 5.2.0.
* NEWS: New file.
* configure.ac: New option --enable-gmp / --disable-gmp.
Usage of GNU MP is enabled by default.
* arith.c: HAVE_LIBGMP has been replaced by USE_GMP.
(Epsilon, MEpsilon): Removed.
(mpa_define_epsilon, mpa_undef_epsilon): Removed.
[USE_GMP] (init_mpa): Signature and definition (argument
iscale is used in place of MAX_ISCALE) changed.
All callers in other files changed.
[!USE_GMP] (init_mpa): Signature changed.
All callers in other files changed.
(copyR, copyC): Signature and definition changed.
All callers in other files changed.
[USE_GMP] (str2R, str2C): Calls to mpf_a2num() changed.
(cmp, is0): Signature and definition changed.
All callers in other files changed.
[USE_GMP] (fprintno): Test (u == Inf) has been correctly rewritten.
[USE_GMP] (end_mpa): Variable Inf is also cleared now.
* main.c (init_mpa_support): Call to init_mpa() changed.
(print_statistics) [USE_GMP]: Added code to initialize qm_abserr and qm_relerr.
(print_statistics): Removed commented out old code.
(print_statistics): Changed calls to copyR().
(main): Removed calls to mpa_define_epsilon() and mpa_undef_epsilon().
* ndselect.c: [USE_GMP] (zalloc): New function.
[USE_GMP]: Include numutil.c.
* options.c:
(print_version) [USE_GMP]: Added statement on the way the program has been built.
(print_version) [!USE_GMP]: Modified statement on the way the program has been built.
(set_args) [!USE_GMP]: Removed code to avoid memory leak (not needed in this case
and even dangerous).
* errors.c (out_of_memory):
Added missing argument in the call to fprintf().
* numutil.c: HAVE_LIBGMP has been replaced by USE_GMP.
[USE_GMP](mpf_a2num): The case when the number returned by snum()
is zero is now correctly handled.
* cmpfns.c (cmp, is0, copyR): Calls changed.
* numdiff.h (USE_GMP): New Macro.
HAVE_LIBGMP has been replaced by USE_GMP.
(MAX_EPXN, MIN_EXPN): They are now constant values of 'long int' type.
(cmp, is0, init_mpa, copyR, copyC): Redefinition of signature.
All callers changed.
(mpa_define_epsilon, mpa_undef_epsilon): Removed.
* errors.c, options.c, ndselect.c, main.c, cmpfns.c: New file.
2009-12-29 Ivano Primi <ivprimi(at)libero(dot)it>
* configure.ac: AC_INIT(...): From version 5.0 to 5.2.
* config.h.in (HAVE_LIBGMP): New Macro.
(HAVE_LOCALECONV): New Macro.
(VERSION): From 5.0.0 to 5.2.0.
* Makefile.in: VERSION changed to 5.2.0.
* config.h.in: New file.
* numutil.c:
[HAVE_LIBGMP] (mpf_a2num): Bug fixes after running a text program.
* numutil.c:
[HAVE_LIBGMP] (mpf_a2num): Removed memory leak + Doc fixes.
* arith.c: [HAVE_LIBGMP] (fprintno): Memory leak removed
2009-12-28 Ivano Primi <ivprimi(at)libero(dot)it>
* numutil.c: [HAVE_LOCALECONV && HAVE_LIBGMP]: Include locale.h.
[HAVE_LIBGMP] (mpf_a2num): New function.
* numutil.c: New file.
* configure.ac: AC_CHECK_FUNCS(...): Check for localeconv added.
* numdiff.h (CHAR_ONE CHAR_NINE): Macro definition.
[HAVE_LIBGMP] (mpf_a2num): Declaration.
* arith.c: [HAVE_LIBGMP] (round_far_from_zero fprintno): New functions.
[HAVE_LIBGMP] (printno, debug_printno): Transformed into wrappers of the function fprintno.
[HAVE_LIBGMP] (str2R): Call to mpf_a2num changed in view of the actual definition of this function.
* arith.c:
[HAVE_LIBGMP] (Zero, Ten, Inf, Epsilon, MEpsilon): Definition of variables.
[HAVE_LIBGMP] (init_mpa, mpa_define_epsilon, initR, initC, copyR, copyC)
(str2R, str2C, add, square, divide, divide_by_int, square_root)
(Cabs, Csub, cmp, is0, smart_cmp, printno, debug_printno)
(delR, delC, mpa_undef_epsilon, end_mpa): New functions.
[!HAVE_LIBGMP] (copyR, copyC): Re-definition according to the new signature.
* numdiff.h (copyR copyC): Redefinition of signature.
All callers changed.
2009-12-13 Ivano Primi <ivprimi(at)libero(dot)it>
* Makefile.in: Added createdirs, copy and tarball targets.
Target dist rewritten.
* Makefile.in, arith.c: New file.
2009-12-12 Ivano Primi <ivprimi(at)libero(dot)it>
* numdiff.h: [HAVE_LIBGMP] (Real Complex): Definition of types.
* numdiff.h: New file.
* configure.ac: AC_CHECK_LIB(gmp, __gmpz_init): Check for GNUMP added.
* configure.ac: New file.
2009-11-31 Ivano Primi <ivprimi(at)libero(dot)it>
Version 5.0.0 released.
|