1.2.1.6
Suite not compiling on older versions of gcc. Duplicate definitions.
Bug removed. Files modified are rdd.h, clip/rdd/Makefile. New file
rdd_inlines.c added in which all inline definitions has been removed.
1.2.1.5
1. Accessing string as array added negative index and length as per php
substring function.
2. rdd.c line 4344 splint into three lines to remove
Wmisleading-indentataion
3. _io.c line 1100 commented out to remove Wunused-const-variable=
4. _string.c modified to remove Wmisleading-indentataion
5. _date.c modified to remove Wmisleading-indentataion
6. _integer.c modified to remove Wmisleading-indentataion
7. pg_clip.c modified to remove Wunused-const-variable
8. odbc_clip.c modified to remove Wunused-const-variable
9. gd_png.c modified to rename two calls to png_set_dither to
png_set_quantize.
1.2.1.4
Some files modified as the new compiler in Debian Testing complained.
cliptypes.h
file added to standardize types.
cliptbl.c
_clip_unicode_table and _clip_unicode_table_order variables added.
Makefile.in
in clip directory modified to copy cliptypes.h also
charset.c
1. probable memory leak in load_charset_name fixed.
2. make_unicode_table function to make a unicode table and corresponding
unicode index table from charset entry. clip_init now calls this function
to make the global tables _clip_unicode_table which has 256 entries
corresponding to the ASCII input codepage.
malayalam.uni
unicode table for Kerala(South Indian State) which speaks
Malayalam added.
unicode.c
clip_UNICODE2UTF8 function added
Argument : unicode value.
Returns the corresponding UTF8 string.
Returns null string on error
clip_ASCII2UTF8 function added
Argument : index of the character in host charset.
Returns the corresponding UTF8 string.
Returns null string on error.
clip_ASCII2UNICODE function added
Argument : index of the character in host charset.
Returns the corresponding unicode value.
Returns -1 on error.
clip_UNICODE2ASCII function added.
Argument : unicode value.
Returns corresponding index as per the host charset.
Returns -1 on error.
CLIP_INT _Utf8LengthFromAscii(CLIP_UCHAR *s, CLIP_UINT len)
Argument: s ASCII string
len of the ascii string.
Returns: The len of the string if converted to
UTF-8 using the conversion table stored
in _clip_unicode_table
clip_UTF8LENGTHFROMASCII:
Argument: Ascii string.
Interface to _Utf8LengthFromAscii above
Returns 0 on error. Otherwise returns the would be
UTF-8 string length.
CLIP_INT _AsciiStr2Utf8(CLIP_UCHAR *in, CLIP_UCHAR **out,
CLIP_UINT *len)
Arguments: input ascii string.
pointer to pointer to char. *out will be
allocated. Will have to be freed. *out will
point to the converted UTF-8 string. It
should be initialized to null before being
passed to this function.
*len should contain the length of in. It
will be changed to length of the UTF-8
string on successful return.
Returns: 0 on sucess.
1 if length of var in contained in *len is
less than 1 or if _clip_unicode_table is not
setup.
2 if *out points to valid memory. I cannot
decide in this function either to rewrite or
free such memory.
CLIP_INT clip_ASCIISTR2UTF8
Interface to _AsciiStr2Utf8
Will return "" on error.
CLIP_INT clip_HEXSTR2ASCII
Argument: hex string with two digit hex code instead of ascii values
Returns : the ascii string.
Example : input string "4161" will return the string "Aa"
The function expects all hex values to be of two digit hence
the length of string to be even other wise null string
is returned.
To get an actual ascii char into the input string prefix 0
input string "0410|61" will return "A|a"
CLIP_INT clip_TOHEXSTRING
Argument: Positive number to be represented as readable hex string
Returns: The human readable hex string of the Positive number
Caveats: Will return null string if negative or 0 is passed
cliprt.c
1. level 2 log: No of characters of input charset added
2. level 2 log: No of character of output charset log level
changed to 2.
3. call to make_unicode_table_from_charset added.
clip-gtk2/stock.c:
1. In function clip_GTK_STOCKLOOKUP the map was not being
updated properly. So modifications had to be done in
_stock_item_to_map function in common.c and hence this function
prototype in clip-gtk2.h also had to be modified along with
another call to this function in stock.c
clip-gtk2/filechooser.c:
1. Function clip_GTKFILECHOOSERDIALOGNEW the responses expected
by gtk2 are integers where as the function attempts to pass
strings modified to correct.
2. The 20 argument array is a hack which is ok. An alternative
will be to call gtk_dialog_add_button for each action button.
But this will necessitate an additional function call for each
argument. May have to use the same hack if the function
gtk_dialog_add_buttonS(s capitalized show the difference)
is used. Is there another way out?
clip-gtk2/clip-gtk2.ch:
1. Defenitions of GTK_RESPONSE_... macros modified as they
were erroneous.
2. GTK_WRAP_WORD_CHAR added(see gtkenums.h)
clip-gtk2/common.c:
1. In _clip_locale_from_utf8 function, fallback added to
original text if conversion fails
clip-gtk2/textbuffer.c:
1. The functions GTK_TEXTBUFFERGETSTARTITER and
GTK_TEXTBUFFERGETENDITER uses the global Iter variable, with a
result that a later call modifies value from earlier call since
clip_mclone function cannot duplicate general pointers since the
corresponding storage size is not known.
Hence new function GTK_TEXTBUFFERGETSTARTORENDITER which returns
the iter in a newly allocated memory alleviating the above issue.
call with a numeric argument 0 for start iter and 1 for enditer.
2. The old functions are retained as such so that in case some
code already uses them...
3. New function GTK_TEXTBUFFERGETENTIRETEXT(include-hidden),
where include-hidden is a logical variable to include hidden
characters. GTK_TEXTBUFFERGETALLTEXT is an alias to this
function.
1.2.1.3
small change in cliprt.c to avoid a call to free in _clip_eval
1.2.1.2
small change in cliprt.c to avoid a qsort in _clip_store_c_item
1.2.1.1
1. A little work has been done so that the suite compiles on
Debian testing distribution(both i386, and amd64) as on day.
Most of the compiler warnings have been taken care of except for some
shift/reduce and reduce/reduce conflicts generated by the bison parser
generator.
2. There are some errors in the clip-oasis modules especially with
regard to missing functions. Not attempted to correct them.
Have not gone through a cygwin on mingw environment checking.
3. This is large suit and despite my best efforts I could not
fully understand the language modules. UnicodeData-7.0.0.txt has been
downloaded and included in the distribution so that the .tbl files can
be created from the .uni files using gen_tbl. So the earlier version
of the database has been removed for saving space.
4. While removing certain compiler warnings from cdx.c it has become
necessary to redefine some macros. Not sure about the correctness of
these. Some basic tests passed though.
5. The following packages had to be additionally installed(on Debian
testing that is Debian Jessie as on date) so that most of the modules
will compile: gcc,flex,bison,libncurses5-dev,gettext,libpth-dev,
zlib1g-dev,pkg-config,libexpat1-dev,libreadline-dev,libgtk2.0-dev,
libxpm-dev,libjpeg-dev,libfreetype6-dev,libmysqlclient-dev,libpq-dev,
libssl-dev,libglade2-dev,libbz2-dev,libfcgi-dev, libpam0g-dev,
unixodbc-dev, and firebird-dev.
For clip interbase connectivity module,
libgds also has to be downloaded from libgds.sourceforge.net and
installed. I do not have an oracle installation so could not make
that module compile for want of the API source tree. Also clip-gd module
complains of unavailability of libttf.h. This file is not available on
Debian so I am skipping it.
If on a Debian system one can check if all needed packages have been
installed by running the provided script
CheckDebianInstalledPackages.sh. Some of these packages may not be
necessary if not interested in the corresponding libraries. Most of
these libraries have not been checked for run time bugs.
6. I always go by installation from source(as root cd clip-prg;
CLIP_LANG=en_US.cp437 make sytem;) for this suite, and so I am not sure
of the build for deb or rpm packages.
7. Earlier programs using the macro GTK_TYPE_TARGET_LIST in the code
had to be changed to GTK_TYPE_TARGET_LST. This has become necessary
because of a clashing declaration in one of the included files
resulting in duplicate defn.
8. In most of the places where code has been modified, comments starting
with strings beginning with PVM has been added for clarification. There
could be occasions where this has been missed. Sincere apologies in
advance.
9. distclean.sh now cleans the complete system inclusive of the
installation directory /usr/local/clip. Use it only with care.
10. /tmp directory is used to create some .c files on the fly for
determining if certain packages have been installed on the system.
This folder has to be cleaned off these .c files manually.