Justxxx Finished

I have finished the Isxxx and Justxxx functions in the Form Framework’s C extension module, ff_fll.fll. It took a little longer than I wanted, but I have been pulled aside by end-of-month processing and by a special HTML project for new web site.

All the functions work with the predictability I need to use them in the main HUD-1 project, and by extension, any other Form Framework project.

I have changed the amount of power in the intermediate functions, but have retained the three-tier design I proposed two weeks ago. Now, the top tier handles the interface between FoxPro and the second tier. The second tier has been re-written to act as an intermediary between calling functions and the fileSystemObjectInfo function, which handles all the heavy work of grabbing information about the file and splitting the fully qualified pathname into the parts I want, and how I want them.

Here is the core dump* from my debugging session when I ironed out all the bugs from the main C function, fileSystemObjectInfo:

– myinfo 0x0012e8d8 {attributes=1077936503 isFile=1 isFolder=0 …} FSOInfo_s *
attributes 1077936503 unsigned long
isFile 1 int
isFolder 0 int
+ displayName 0x0012e8e4 “ff_fll.fll” char [260]
+ fileType 0x0012e9e8 “FoxPro Extension Library” char [80]
+ drive 0x0012ea38 “D:” char [3]
+ path 0x0012ea3b “D:\FoxPro Source\FormFoundation\FLL\fll\” char [256]
+ dir 0x0012eb3b “\FoxPro Source\FormFoundation\FLL\fll\” char [256]
+ filespec 0x0012ec3b “ff_fll.fll” char [256]
+ filename 0x0012ed3b “ff_fll” char [256]
+ fileext 0x0012ee3b “fll” char [256]

myinfo is a pointer to a structure that is filled in by the fileSystemObjectInfo function and used by calling functions.

In theory, I could do away with the second tier, and have the FoxPro interface functions create the structure and call fileSystemObjectInfo directly. But I have made enough changes for the moment.

I will take the rest of the week and add to what information the fileSystemObjectInfo grabs (such as size, and time-and-date information) and return to that HTML project I referred to earlier. Next week, I shall begin replacing the FoxPro Justxxx functions with my versions.

*Core dump – well, that really dates me. A “core dump” is a dump to a printer of the contents of a mainframe’s core memory (iron ferrite cores) when a program crashes. This nomenclature became used in the early 1950’s, just days after the first memory cores were installed into vacuum-tube based computers. The term is still used and means basically the same thing, but the “cores” are now microscopic silicon transistors, and the dump can be to the screen during real-time tracing and debugging.

Comments are closed.