Hi,

my friends showed a few more Clipper incompatibilites.
1) negative julian dates
  SET(4, "yyyy-mm-dd")
  dDate := CTOD("") - 1
  ? dDate     // Clipper: "1449-02-15", Harbour: "    -  -  "

I would suggest to fix a code for samples like this, but sometimes this Harbour behaviour can lead to unexpected results:

Export:
  IF ! EMPTY(dDate)
    cFileContent := DTOC(dDate)
  ENDIF

Import:
  dDate := CTOD(cFileContent)
  // We expect dDate to be non empty date, but it is empty in Harbour

Usually we never expect following code to print .T.:
  IF ! EMPTY(dDate)
    ? EMPTY(CTOD(DTOC(dDate)))
  ENDIF


2) index creation using codeblock
REQUEST DBFCDX
PROC main()
FIELD F
  RDDSETDEFAULT("DBFCDX")
  DBCREATE("test145", {{"F", "C", 1, 0}})
  DBUSEAREA(.T.,, "test145")
  DBAPPEND();  F := "a"
  DBAPPEND();  F := "c"
  DBAPPEND();  F := "b"
  OrdCreate("test145", "f", "", {|| F})
  DBEVAL({|| QQOUT(F)})
  DBCLOSEALL()
RETURN

Clipper prints: abc
Harbour prints: acb


3) during the test number 2, I found a GPF in RDD code.
If you do not delete *.dbf and *.cdx files after running Clipper test, and try to run Harbour test (I've used: hbrun test145.prg), I get a GPF on:
Called from DBAPPEND(0)
Called from MAIN(8) in pcode.hrb
Called from HB_HRBRUN(0)
Called from _APPMAIN(0) in utils\hbrun\hbrun.prg


Regards,
Mindaugas


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to