Snap! Websites
An Open Source CMS System in C++
I pusblished a new version of CSS Preprocessor (csspp) because 1.0.9 and older had a bug in the output process which would not write the commas between lists of arguments in a declaration. For example, a box-shadow can be defined as follow:
box-shadow: 3px 2px 7px #888888, 0 0 4px #008800;
Versions before 1.0.10 would skip the comma after the first color, as shown below, rendering the whole declaration useless.
box-shadow:3px 2px 7px #8880 0 4px #080;
Download right here: https://sourceforge.net/projects/csspp/files/
Project here: CSS Preprocessor tool and library
I pusblished a new version of CSS Preprocessor (csspp) because 1.0.8 had one fix from Coverity when there were 4 such bugs total. 1.0.9 includes the other 3 fixes. It was a missused & operator (the parenthesis were missing.)
Version 1.0.9 is otherwise pretty much the same as 1.0.8, I applied a few other clean ups and updated the copyright notice to 2016. The library will soon be 1 year old!
Download right here: https://sourceforge.net/projects/csspp/files/
Project here: CSS Preprocessor tool and library
As I was working on the antihammering plugin for Snap!, I wanted to use the count() feature to quickly know how many hits there are for a given amount of time.
Only as I did that, I noticed that the count() was blocked at 100. The problem was that the predicate used at the lower layer in libQtCassandra would actually set the count maximum to 100 by default.
I think that since the count function only counts the columns of interest, that it goes really fast no matter what the counter maximum is and whether you have a predicate or not. So I changed the lower layer implementation to force the ...
The csspp compiler was updated after being scanned for potential problems by Coverity.
Coverity found one potential buffer overflow in the lexer. This was certainly not possible to reach because that specific function is private and only used for a very few characters. But it is always worth fixing such bugs.
There are two other small issues: a compiler was created with 'this' as parameter instead of 'true' and a test misused the & operator.
So, as an end user you will probably not see any difference between 1.0.7 and 1.0.8.
Download right here: ...
The Zipios library was scanned using Coverity and we found a couple of variable members that were not initialized. Version 2.1.1 fixes these problems.
There were a few other fixes along the road that were really not major but are included in this version of the library. There is the changelog information:
Sample Code:
QtCassandra::QCassandraRowPredicate row_predicate; row_predicate.setCount(100); ... QtCassandra::QCassandraColumnRangePredicate column_predicate; column_predicate.setCount(100); ...
The Cassandra system allows you to read an array of rows or columns. This is done by a special query command sent to the database system.
The libQtCassandra library offers predicate classes giving you the ability to read a set of rows or columns all at once (see example above.) In general, reading more at once is better because it gives you a faster transfer rate to get one large block ...
The CSS specification clearly says that the CSS language itself is case insensitive. Unfortunately, it will be applied to data representing things such as the name of a class which is case sensitive. For this reason, it is important for csspp to keep input identifiers in the same case as it is found in the input file.
Version 1.0.7 includes that fix with tests used to verify that the code matches as expected.
Note that csspp still transforms function names to lowercase. This can cause problems with CSS used for Internet Explorer older versions (6 and earlier, versions that are not supported ...
I just added version 1.5.0 to SourceForge.net. This newer version includes a new function that one can use to convert a URI to lowercase. This is important to call tld() because the URI is going to be compared to top level domain names that are all in lowercase.
The new function is called tld_domain_to_lowercase(). It takes a string as input and returns a copy in lowercase. The function understands encoded URIs and UTF-8 as expected by the standard.
The project also includes a new test to make sure I get all the versions bumped each time I do a new update.
P.S. I published 1.5.1 today ...
Got CSS Preprocessor version 1.0.6 published.
This fixes a crashing problem with the minus operator (the following: "field: -;" crashes version 1.0.5 and earlier.) But that was not the point, just a side effect of writing many more tests.
The new system supports the @return at-command which means user defined functions work.
I wrote the necessary tests to check the system defined external functions. They all get checked. The result is that a couple were moved to internal functions so they would work (unique_id() and percentage() which cannot otherwise be implemented) and I added ...
Snap! Websites
An Open Source CMS System in C++