Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
cdk_compat(3)			  Library calls 		   cdk_compat(3)

NAME
     cdk_compat - Cdk4 compatibility functions

SYNOPSIS
     cc [ flag ... ] file ...  -lcdk [ library ... ]

     #include <cdk/cdk_compat.h>

     int getDirectoryContents (
		    char *directory,
		    char **list,
		    int maxListSize);

     int readFile (
		    char *filename,
		    char **info,
		    int maxlines);

     int splitString (
		    char *string,
		    char **items,
		    char splitChar);

DESCRIPTION
     These  functions  and  macros make it simpler to port applications from the
     older Cdk4 library to Cdk5.

     A few functions are deprecated in Cdk5, because they rely upon  the  caller
     to know in advance the size of data which will be returned by the function.

     Additionally,  some  macros  are deprecated because they serve no realistic
     purpose: they have direct (standard) equivalents in all modern  curses  im-
     plementations.

     Finally,  a few macro definitions are added to iron out naming inconsisten-
     cies across the Cdk4 header files.

AVAILABLE FUNCTIONS
     getDirectoryContents
	  This opens the current directory and reads the contents.  Use  CDKget-
	  DirectoryContents() in new code.

     readFile
	  This	reads  a  file and sticks it into the char ** provided.  Use CD-
	  KreadFile() for new code.

     splitString
	  This splits a string into one or more parts given the split character.
	  Use CDKsplitString() for new code.

EXAMPLES
     Start the porting process by changing the #include's to use
	    #include <cdk/cdk_compat.h>

     rather than
	    #include <cdk.h>
     Some adjustments of course are needed to make your compiler see the compat-
     ibility header file.  A separate name was chosen so that it in turn can (by
     adjusting the include path) include either the old Cdk4 cdk.h or  the  new.
     If  the  old  is included, you should link your program against the old li-
     brary.  Likewise, including the new requires that you link against the  new
     library.

     That is the first step: making your program compile using the compatibility
     header file using the old headers and library.

     The  next step is to get it to compile against the new headers and library.
     Most of the changes will  require	modifying  bare  references  to  certain
     pointers to wrap them with the ObjOf() and ScreenOf() macros.  New Cdk uses
     these to provide functions which are easily shared among the different wid-
     get  types.   Your  compiler  should  be able to tell you where the changes
     should be made.  See the example programs which are included with Cdk as  a
     guide.

     That  is  the  hard  part	of  porting.   But even for a large program, the
     changes can be made simply: there are not that  many  types  of  change  to
     make.   At  the end of this step, you should still be able to build and run
     your program against the old headers and library.	It is reasonably  likely
     that  you	can  do the same with the new headers and library.  By using the
     same source for old/new versions of Cdk, you can test and verify that  your
     program still works properly after these modifications.

     Finally, unless this is a purely academic exercise, you will want to remove
     references to the deprecated functions and macros.

SEE ALSO
     cdk_objs(3), cdk_util(3)

				   2024-03-28			   cdk_compat(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=readFile&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help