null definition
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 851
Objective Modula-2 1.00 (Language Definition)
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2. more>>
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2 based on the object model and runtime of Objective-C.
The design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
The projects scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
<<lessThe design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
The projects scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Download (0.23MB)
Added: 2007-07-21 License: (FDL) GNU Free Documentation License Price:
516 downloads
Speegle Define 1.1
Speegle Define is a Firefox extension that gives a spoken definition of a word using Speegle Speech Technology. more>>
Speegle Define is a Firefox extension that gives a spoken definition of a word using Speegle Speech Technology. You highlight the word you would like explained with highlight left click on any internet page you are reading.
Right click and choose "Audio Definition" from the pop up menu and its definition will be read back to you in English through your speakers or headphones.
<<lessRight click and choose "Audio Definition" from the pop up menu and its definition will be read back to you in English through your speakers or headphones.
Download (0.004MB)
Added: 2007-06-02 License: MPL (Mozilla Public License) Price:
874 downloads
Null IBBS 0.5.0
Null IBBS is an Internet Bulletin Board System derived from an old snapshot of NullLogic Groupware. more>>
Null IBBS is an Internet Bulletin Board System derived from an old snapshot of NullLogic Groupware.
Null iBBS uses cleartext password transmission. If security is a concern, use https!
This program is derived from an earlier version of Sentinel Groupware. This program also shares code with Null Webmail.
Installation
Null iBBS installation is a bit of a do-it-yourself process for the time being.
1) Move all the files and directories to a directory of your choice. /usr/local/ibbs might be a good default.
2) Edit the Makefile and check the mysql and pgsql dependencies.
3) Type make mysql or make pgsql to build the binary.
4) Create your database and use ibbsdb.mysql or ibbsdb.pgsql to create the database schema.
5) Edit etc/ibbs.cfg to match your configuration.
6) Make sure the files/ directory is writable by the user Null iBBS will be run as.
7) Run ./ibbs from bin/ (NOT AS ROOT!).
8) Curse the crappy install process, and give up in disgust (optional).
With luck, you now have Null iBBS running as a standalone server. It can also be run as a cgi by copying the binary and ibbs.cfg to your cgi-bin directory (works for me).
<<lessNull iBBS uses cleartext password transmission. If security is a concern, use https!
This program is derived from an earlier version of Sentinel Groupware. This program also shares code with Null Webmail.
Installation
Null iBBS installation is a bit of a do-it-yourself process for the time being.
1) Move all the files and directories to a directory of your choice. /usr/local/ibbs might be a good default.
2) Edit the Makefile and check the mysql and pgsql dependencies.
3) Type make mysql or make pgsql to build the binary.
4) Create your database and use ibbsdb.mysql or ibbsdb.pgsql to create the database schema.
5) Edit etc/ibbs.cfg to match your configuration.
6) Make sure the files/ directory is writable by the user Null iBBS will be run as.
7) Run ./ibbs from bin/ (NOT AS ROOT!).
8) Curse the crappy install process, and give up in disgust (optional).
With luck, you now have Null iBBS running as a standalone server. It can also be run as a cgi by copying the binary and ibbs.cfg to your cgi-bin directory (works for me).
Download (0.11MB)
Added: 2007-03-16 License: GPL (GNU General Public License) Price:
952 downloads
Null httpd 0.5.1
Null httpd is a very small, simple and multithreaded web server for Linux and Windows. more>>
Null httpd is a very small, simple and multithreaded web server for Linux and Windows.
Please note that Null httpd is _not_ a production quality server, nor should it be used in environments where stability and/or security are a concern.
If youre looking for a solid, reliable web server, please use Apache.
<<lessPlease note that Null httpd is _not_ a production quality server, nor should it be used in environments where stability and/or security are a concern.
If youre looking for a solid, reliable web server, please use Apache.
Download (0.026MB)
Added: 2007-03-16 License: GPL (GNU General Public License) Price:
957 downloads
NullableTypes 1.2
NullableTypes for .NET are a very reliable and efficient version of built-in value-types that can be Null. more>>
NullableTypes for .NET are a very reliable and efficient version of built-in value-types that can be Null. NullableTypes pass more than 800 differents test cases and have close-to-optimal efficiency as built-in value-types. They may be used every time you need to store a Null value in a .NET built-in value-type.
Types implemented by NullableTypes are: NullableBoolean, NullableByte, NullableInt16, NullableInt32, NullableInt64, NullableSingle, NullableDouble, NullableDecimal, NullableString and NullableDateTime.
Helper functions provide seamless integration with Windows and ASP.NET user controls and with ADO.NET.
NullableTypes will let you write code like this:
public sealed class Order{
public int OrderID {get {/*...*/}}
public int CustomerID {get {/*...*/}}
public NullableDateTime RequestedDeliveryDate {get {/*...*/}}
// remaining members elided for clarity
}
where RequestedDeliveryDate can be either NullableDateTime.Null or a valid DateTime value.
The property RequestedDeliveryDate.IsNull tests if the date is Null, and when it is not Null the property RequestedDeliveryDate.Value returns a valid DateTime value.
<<lessTypes implemented by NullableTypes are: NullableBoolean, NullableByte, NullableInt16, NullableInt32, NullableInt64, NullableSingle, NullableDouble, NullableDecimal, NullableString and NullableDateTime.
Helper functions provide seamless integration with Windows and ASP.NET user controls and with ADO.NET.
NullableTypes will let you write code like this:
public sealed class Order{
public int OrderID {get {/*...*/}}
public int CustomerID {get {/*...*/}}
public NullableDateTime RequestedDeliveryDate {get {/*...*/}}
// remaining members elided for clarity
}
where RequestedDeliveryDate can be either NullableDateTime.Null or a valid DateTime value.
The property RequestedDeliveryDate.IsNull tests if the date is Null, and when it is not Null the property RequestedDeliveryDate.Value returns a valid DateTime value.
Download (0.76MB)
Added: 2006-09-06 License: MIT/X Consortium License Price:
1143 downloads
SimpleIni 4.3
SimpleIni is a cross-platform library that provides a simple API to read and write INI-style configuration files. more>>
SimpleIni is a cross-platform library that provides a simple API to read and write INI-style configuration files. It supports data files in ASCII, MBCS and Unicode.
It is designed explicitly to be portable to any platform and has been tested on Windows and Linux. Released as open-source and free using the MIT licence.
Examples:
These snippets are included with the distribution in the file snippets.cpp.
LOADING DATA
load from a data file
CSimpleIniA ini(a_bIsUtf8, a_bUseMultiKey, a_bUseMultiLine);
SI_Error rc = ini.LoadFile(a_pszFile);
if (rc < 0) return false;
load from a string
std::string strData;
rc = ini.Load(strData.c_str(), strData.size());
if (rc < 0) return false;
GETTING SECTIONS AND KEYS
get all sections
CSimpleIniA::TNamesDepend sections;
ini.GetAllSections(sections);
get all keys in a section
CSimpleIniA::TNamesDepend keys;
ini.GetAllKeys("section-name", keys);
GETTING VALUES
get the value of a key
const char * pszValue = ini.GetValue("section-name",
"key-name", NULL /*default*/);
get the value of a key which may have multiple values. If bHasMultipleValues is true, then just one value has been returned
bool bHasMultipleValues;
pszValue = ini.GetValue("section-name", "key-name",
NULL /*default*/, &bHasMultipleValues);
get all values of a key with multiple values
CSimpleIniA::TNamesDepend values;
ini.GetAllValues("section-name", "key-name", values);
sort the values into the original load order
values.sort(CSimpleIniA::Entry::LoadOrder());
output all of the items
CSimpleIniA::TNamesDepend::const_iterator i;
for (i = values.begin(); i != values.end(); ++i) {
printf("key-name = %sn", i->pItem);
}
MODIFYING DATA
adding a new section
rc = ini.SetValue("new-section", NULL, NULL);
if (rc < 0) return false;
printf("section: %sn", rc == SI_INSERTED ?
"inserted" : "updated");
adding a new key ("new-section" will be added automatically if it doesnt already exist)
rc = ini.SetValue("new-section", "new-key", "value");
if (rc < 0) return false;
printf("key: %sn", rc == SI_INSERTED ?
"inserted" : "updated");
changing the value of a key
rc = ini.SetValue("section", "key", "updated-value");
if (rc < 0) return false;
printf("key: %sn", rc == SI_INSERTED ?
"inserted" : "updated");
DELETING DATA
deleting a key from a section. Optionally the entire section may be deleted if it is now empty.
ini.Delete("section-name", "key-name",
true /*delete the section if empty*/);
deleting an entire section and all keys in it
ini.Delete("section-name", NULL);
SAVING DATA
save the data to a string
rc = ini.Save(strData);
if (rc < 0) return false;
save the data back to the file
rc = ini.SaveFile(a_pszFile);
if (rc < 0) return false;
Enhancements:
- Fixed a bug causing multi-line values and comments to get corrupted. This affects only files with CR LF line endings (Windows) and wchar_t/ICU interface (Unicode).
<<lessIt is designed explicitly to be portable to any platform and has been tested on Windows and Linux. Released as open-source and free using the MIT licence.
Examples:
These snippets are included with the distribution in the file snippets.cpp.
LOADING DATA
load from a data file
CSimpleIniA ini(a_bIsUtf8, a_bUseMultiKey, a_bUseMultiLine);
SI_Error rc = ini.LoadFile(a_pszFile);
if (rc < 0) return false;
load from a string
std::string strData;
rc = ini.Load(strData.c_str(), strData.size());
if (rc < 0) return false;
GETTING SECTIONS AND KEYS
get all sections
CSimpleIniA::TNamesDepend sections;
ini.GetAllSections(sections);
get all keys in a section
CSimpleIniA::TNamesDepend keys;
ini.GetAllKeys("section-name", keys);
GETTING VALUES
get the value of a key
const char * pszValue = ini.GetValue("section-name",
"key-name", NULL /*default*/);
get the value of a key which may have multiple values. If bHasMultipleValues is true, then just one value has been returned
bool bHasMultipleValues;
pszValue = ini.GetValue("section-name", "key-name",
NULL /*default*/, &bHasMultipleValues);
get all values of a key with multiple values
CSimpleIniA::TNamesDepend values;
ini.GetAllValues("section-name", "key-name", values);
sort the values into the original load order
values.sort(CSimpleIniA::Entry::LoadOrder());
output all of the items
CSimpleIniA::TNamesDepend::const_iterator i;
for (i = values.begin(); i != values.end(); ++i) {
printf("key-name = %sn", i->pItem);
}
MODIFYING DATA
adding a new section
rc = ini.SetValue("new-section", NULL, NULL);
if (rc < 0) return false;
printf("section: %sn", rc == SI_INSERTED ?
"inserted" : "updated");
adding a new key ("new-section" will be added automatically if it doesnt already exist)
rc = ini.SetValue("new-section", "new-key", "value");
if (rc < 0) return false;
printf("key: %sn", rc == SI_INSERTED ?
"inserted" : "updated");
changing the value of a key
rc = ini.SetValue("section", "key", "updated-value");
if (rc < 0) return false;
printf("key: %sn", rc == SI_INSERTED ?
"inserted" : "updated");
DELETING DATA
deleting a key from a section. Optionally the entire section may be deleted if it is now empty.
ini.Delete("section-name", "key-name",
true /*delete the section if empty*/);
deleting an entire section and all keys in it
ini.Delete("section-name", NULL);
SAVING DATA
save the data to a string
rc = ini.Save(strData);
if (rc < 0) return false;
save the data back to the file
rc = ini.SaveFile(a_pszFile);
if (rc < 0) return false;
Enhancements:
- Fixed a bug causing multi-line values and comments to get corrupted. This affects only files with CR LF line endings (Windows) and wchar_t/ICU interface (Unicode).
Download (0.041MB)
Added: 2007-07-05 License: MIT/X Consortium License Price:
843 downloads
XML::NodeFilter 0.01
XML::NodeFilter is a generic XML::NodeFilter Class. more>>
XML::NodeFilter is a generic XML::NodeFilter Class.
SYNOPSIS
use XML::NodeFilter;
my $filter = XML::NodeFilter->new();
$your_iterator->set_filter( $filter );
"Filters are objects that know how to "filter out" nodes. If a NodeIterator or a TreeWalker is given a NodeFilter, it applies the filter before it returns the next node. If the filter says to accept the node, the traversal logic returns it; otherwise, traversal looks for the next node and pretends that the node was rejected was not there."
This definition is given by the DOM Traversal and Range Specification. It explains pretty well, what this class is for: A XML::NodeFilter will recieve a node from a traversal object, such as XML::LibXML::Iterator is one and tells if the given node should be returned to the caller or not.
Although I refere only to XML::LibXML here, XML::NodeFilter is implemented more open, so it can be used with other DOM implementations as well.
The Spec And The Implementation
The DOM Traversal and Range Specification just defines the contstants and accept_node() for a node filter. The XML::NodeFilter implementation also adds the what_to_show() function to the class definition, since I think that it is a filters job to decide which node-types should be shown and which not.
Also XML::NodeFilter adds two constants which are not part of the specification. The first one is FILTER_DECLINED. It tells the traversal logic, that it should apply another filter in order to decide if the node should be visible or not. While the spec only defines the traversal logic to have either one or no filter applied, it showed that it leads to cleaner code if more filter could be used in conjunktion. If a traversal logic finds a single filter that returns FILTER_DECLINED, it should be handled as a synonym of FILTER_ACCEPT. While FILTER_ACCEPT is finite and would cause all other not to be executed, FILTER_DECLINED gives one more flexibility.
The second extension of the specification is the SHOW_NONE symbol. It was added for operational completeness, so one can explicitly switch the node type filter off (means all node types are rejected). This will cause the two calls of what_to_show have a different result:
$filter->what_to_show( undef ); # will set SHOW_ALL
$filter->what_to_show( SHOW_NONE ); # will not set SHOW_ALL
Infact SHOW_NONE is a NULL flag, that means it can be added to any list of flags without altering it.
$filter->what_to_show( SHOW_ELEMENT | SHOW_TEXT | SHOW_NONE );
is therefore identical to
$filter->what_to_show( SHOW_ELEMENT | SHOW_TEXT );
SHOW_NONE is espacially usefull to avoid numerically or even more ugly unintialized values while building such flag lists dynamically.
<<lessSYNOPSIS
use XML::NodeFilter;
my $filter = XML::NodeFilter->new();
$your_iterator->set_filter( $filter );
"Filters are objects that know how to "filter out" nodes. If a NodeIterator or a TreeWalker is given a NodeFilter, it applies the filter before it returns the next node. If the filter says to accept the node, the traversal logic returns it; otherwise, traversal looks for the next node and pretends that the node was rejected was not there."
This definition is given by the DOM Traversal and Range Specification. It explains pretty well, what this class is for: A XML::NodeFilter will recieve a node from a traversal object, such as XML::LibXML::Iterator is one and tells if the given node should be returned to the caller or not.
Although I refere only to XML::LibXML here, XML::NodeFilter is implemented more open, so it can be used with other DOM implementations as well.
The Spec And The Implementation
The DOM Traversal and Range Specification just defines the contstants and accept_node() for a node filter. The XML::NodeFilter implementation also adds the what_to_show() function to the class definition, since I think that it is a filters job to decide which node-types should be shown and which not.
Also XML::NodeFilter adds two constants which are not part of the specification. The first one is FILTER_DECLINED. It tells the traversal logic, that it should apply another filter in order to decide if the node should be visible or not. While the spec only defines the traversal logic to have either one or no filter applied, it showed that it leads to cleaner code if more filter could be used in conjunktion. If a traversal logic finds a single filter that returns FILTER_DECLINED, it should be handled as a synonym of FILTER_ACCEPT. While FILTER_ACCEPT is finite and would cause all other not to be executed, FILTER_DECLINED gives one more flexibility.
The second extension of the specification is the SHOW_NONE symbol. It was added for operational completeness, so one can explicitly switch the node type filter off (means all node types are rejected). This will cause the two calls of what_to_show have a different result:
$filter->what_to_show( undef ); # will set SHOW_ALL
$filter->what_to_show( SHOW_NONE ); # will not set SHOW_ALL
Infact SHOW_NONE is a NULL flag, that means it can be added to any list of flags without altering it.
$filter->what_to_show( SHOW_ELEMENT | SHOW_TEXT | SHOW_NONE );
is therefore identical to
$filter->what_to_show( SHOW_ELEMENT | SHOW_TEXT );
SHOW_NONE is espacially usefull to avoid numerically or even more ugly unintialized values while building such flag lists dynamically.
Download (0.006MB)
Added: 2006-10-25 License: Perl Artistic License Price:
1094 downloads
Linice 2.6
Linice is an x86 source-level kernel debugger. more>>
Linice is a source-level kernel debugger for x86 systems with the look and feel of SoftIce for MS Windows.
It is designed for people who are already familiar with SoftIce, but anyone can quickly get used to it. It can break into a running kernel at any time using a hotkey and supports breakpoints and single step on modules, the kernel, or user programs.
Linice supports the VGA frame buffer, the X Window System, serial connections, and monochrome adapters.
Enhancements:
- A bug in linsym where getlogin() would return NULL for some kernels has been fixed.
- This fixes a linsym segfault reported by a number of users.
<<lessIt is designed for people who are already familiar with SoftIce, but anyone can quickly get used to it. It can break into a running kernel at any time using a hotkey and supports breakpoints and single step on modules, the kernel, or user programs.
Linice supports the VGA frame buffer, the X Window System, serial connections, and monochrome adapters.
Enhancements:
- A bug in linsym where getlogin() would return NULL for some kernels has been fixed.
- This fixes a linsym segfault reported by a number of users.
Download (0.91MB)
Added: 2005-07-29 License: GPL (GNU General Public License) Price:
1551 downloads
XML::Mini::TreeComponent 1.2.8
XML::Mini::TreeComponent is a Perl implementation of the XML::Mini TreeComponent API. more>>
XML::Mini::TreeComponent is a Perl implementation of the XML::Mini TreeComponent API.
SYNOPSIS
Dont use this class - only presents an interface for other derived classes.
This class is only to be used as a base class for others.
It presents the minimal interface we can expect from any component in the XML hierarchy.
All methods of this base class simply return NULL except a little default functionality included in the parent() method.
Warning: This class is not to be instatiated. Derive and override.
parent [NEWPARENT]
The parent() method is used to get/set the elements parent.
If the NEWPARENT parameter is passed, sets the parent to NEWPARENT (NEWPARENT must be an instance of a class derived from XML::MiniTreeComponent)
Returns a reference to the parent XML::MiniTreeComponent if set, NULL otherwise.
toString [DEPTH]
Return a stringified version of the XML representing this component and all sub-components
dump
Debugging aid, dump returns a nicely formatted dump of the current structure of the XML::Mini::TreeComponent-derived object.
<<lessSYNOPSIS
Dont use this class - only presents an interface for other derived classes.
This class is only to be used as a base class for others.
It presents the minimal interface we can expect from any component in the XML hierarchy.
All methods of this base class simply return NULL except a little default functionality included in the parent() method.
Warning: This class is not to be instatiated. Derive and override.
parent [NEWPARENT]
The parent() method is used to get/set the elements parent.
If the NEWPARENT parameter is passed, sets the parent to NEWPARENT (NEWPARENT must be an instance of a class derived from XML::MiniTreeComponent)
Returns a reference to the parent XML::MiniTreeComponent if set, NULL otherwise.
toString [DEPTH]
Return a stringified version of the XML representing this component and all sub-components
dump
Debugging aid, dump returns a nicely formatted dump of the current structure of the XML::Mini::TreeComponent-derived object.
Download (0.034MB)
Added: 2007-03-08 License: Perl Artistic License Price:
960 downloads
CGI::NoPoison 3.11
CGI::NoPoison is No Poison Null Byte in CGI->Vars. more>>
CGI::NoPoison is No Poison Null Byte in CGI->Vars.
SYNOPSIS
use CGI;
use CGI::NoPoison
my $m = CGI->new();
$m->param(
-name=>amplifier,
-value=>[nine, ten, up to eleven],
);
my %h = $m->Vars();
# look ma, no splitting on poison null-bytes ( )!
print "$_ => ", join ", ", @{$h{$_}} for keys %h;
print "This one goes ", ($m->param(amplifier))[2];
Simplicity itself. Instead of using a null-byte to separate multi-valued fields why not just use what CGI.pm already uses to store the values internally?
"Whats that?", you ask? Why, its an anonymous array, of course, like anyone sensible would use. cgi-lib.pl may have been fine years and years ago, but this now-archaic throwback no longer needs us to bow to its demands. (is anyone still actually using it? yikes.)
This does, however change how you parse CGI->Vars() (as an anon-array, not a -packed string) and also how you set params.
NOW you can properly test for inserted null-bytes in a secure environment WHILE taking advantage of the convenience of the Vars() function.
<<lessSYNOPSIS
use CGI;
use CGI::NoPoison
my $m = CGI->new();
$m->param(
-name=>amplifier,
-value=>[nine, ten, up to eleven],
);
my %h = $m->Vars();
# look ma, no splitting on poison null-bytes ( )!
print "$_ => ", join ", ", @{$h{$_}} for keys %h;
print "This one goes ", ($m->param(amplifier))[2];
Simplicity itself. Instead of using a null-byte to separate multi-valued fields why not just use what CGI.pm already uses to store the values internally?
"Whats that?", you ask? Why, its an anonymous array, of course, like anyone sensible would use. cgi-lib.pl may have been fine years and years ago, but this now-archaic throwback no longer needs us to bow to its demands. (is anyone still actually using it? yikes.)
This does, however change how you parse CGI->Vars() (as an anon-array, not a -packed string) and also how you set params.
NOW you can properly test for inserted null-bytes in a secure environment WHILE taking advantage of the convenience of the Vars() function.
Download (0.012MB)
Added: 2006-12-01 License: Perl Artistic License Price:
1059 downloads
mod_accounting 0.5
mod_accounting is a simple Apache module that can record traffic statistics into a database. more>>
mod_accounting is a simple Apache module that can record traffic statistics (bytes received/sent per request) into a database.
Enhancements:
- Added a placeholder for user names (%u) to allow for more statistics on the recorded data.
- Now uses ap_get_server_name(r) to get the value for %h, to support virtual host names.
- Added the AccountingIgnoreHosts directive.
- Adds the version string to the Apache SERVER_SOFTWARE-Environment (patch by Michael Diekmann 29.04.2002)
- Added a sample database schema and FAQs provided by Chris Hall.
- Fixed segv when handling failed internal redirections (and possibly in other cases where r->status_line is NULL)
<<lessEnhancements:
- Added a placeholder for user names (%u) to allow for more statistics on the recorded data.
- Now uses ap_get_server_name(r) to get the value for %h, to support virtual host names.
- Added the AccountingIgnoreHosts directive.
- Adds the version string to the Apache SERVER_SOFTWARE-Environment (patch by Michael Diekmann 29.04.2002)
- Added a sample database schema and FAQs provided by Chris Hall.
- Fixed segv when handling failed internal redirections (and possibly in other cases where r->status_line is NULL)
Download (0.010MB)
Added: 2005-08-23 License: GPL (GNU General Public License) Price:
1525 downloads
Splint 3.1.1
Splint is a tool that checks C programs for security problems and coding mistakes. more>>
Splint is a tool for statically checking C programs for security vulnerabilities and programming mistakes.
Splint does many of the traditional lint checks including unused declarations, type inconsistencies, use before definition, unreachable code, ignored return values, execution paths with no return, likely infinite loops, and fall through cases.
More powerful checks are made possible by additional information given in source code annotations. Annotations are stylized comments that document assumptions about functions, variables, parameters and types.
In addition to the checks specifically enabled by annotations, many of the traditional lint checks are improved by exploiting this additional information.
As more effort is put into annotating programs, better checking results. A representational effort-benefit curve for using Splint is shown in Figure 1.
Splint is designed to be flexible and allow programmers to select appropriate points on the effort-benefit curve for particular projects.
As different checks are turned on and more information is given in code annotations the number of bugs that can be detected increases dramatically.
Problems detected by Splint include:
- Dereferencing a possibly null pointer
- Using possibly undefined storage or returning storage that is not properly defined
- Type mismatches, with greater precision and flexibility than provided by C compilers
- Violations of information hiding
- Memory management errors including uses of dangling references and memory leaks
- Dangerous aliasing
- Modifications and global variable uses that are inconsistent with specified interfaces
- Problematic control flow such as likely infinite loops, fall through cases or incomplete switches, and suspicious statements
- Buffer overflow vulnerabilities
- Dangerous macro implementations or invocations
- Violations of customized naming conventions.
<<lessSplint does many of the traditional lint checks including unused declarations, type inconsistencies, use before definition, unreachable code, ignored return values, execution paths with no return, likely infinite loops, and fall through cases.
More powerful checks are made possible by additional information given in source code annotations. Annotations are stylized comments that document assumptions about functions, variables, parameters and types.
In addition to the checks specifically enabled by annotations, many of the traditional lint checks are improved by exploiting this additional information.
As more effort is put into annotating programs, better checking results. A representational effort-benefit curve for using Splint is shown in Figure 1.
Splint is designed to be flexible and allow programmers to select appropriate points on the effort-benefit curve for particular projects.
As different checks are turned on and more information is given in code annotations the number of bugs that can be detected increases dramatically.
Problems detected by Splint include:
- Dereferencing a possibly null pointer
- Using possibly undefined storage or returning storage that is not properly defined
- Type mismatches, with greater precision and flexibility than provided by C compilers
- Violations of information hiding
- Memory management errors including uses of dangling references and memory leaks
- Dangerous aliasing
- Modifications and global variable uses that are inconsistent with specified interfaces
- Problematic control flow such as likely infinite loops, fall through cases or incomplete switches, and suspicious statements
- Buffer overflow vulnerabilities
- Dangerous macro implementations or invocations
- Violations of customized naming conventions.
Download (1.63MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1651 downloads
XML::Mini::Node 1.2.8
XML::Mini::Node contains nodes that are used as atomic containers for numerical and text data and act as leaves in the XML tree. more>>
XML::Mini::Node contains nodes that are used as atomic containers for numerical and text data and act as leaves in the XML tree.
They have no name or children.
They always exist as children of XML::MiniElements. For example, < B >this text is bold< /B > Would be represented as a XML::MiniElement named B with a single child, a Node object which contains the string this text is bold.
a Node has
- a parent
- data (text OR numeric)
getValue
Returns the text or numeric value of this Node.
text [SETTO [SETTOALT]]
The text() method is used to get or set text data for this node. If SETTO is passed, the nodes content is set to the SETTO string.
If the optional SETTOALT is passed and SETTO is false, the nodes value is set to SETTOALT.
Returns this nodes text, if set or NULL
numeric [SETTO [SETTOALT]]
The numeric() method is used to get or set numerical data for this node.
If SETTO is passed, the nodes content is set to the SETTO string.
If the optional SETTOALT is passed and SETTO is NULL, the nodes value is set to SETTOALT.
Returns this nodes text, if set or NULL
toString [DEPTH]
Returns this nodes contents as a string. If the special DEPTH $XML::Mini::NoWhiteSpaces is passed, no whitespaces will be inserted.
<<lessThey have no name or children.
They always exist as children of XML::MiniElements. For example, < B >this text is bold< /B > Would be represented as a XML::MiniElement named B with a single child, a Node object which contains the string this text is bold.
a Node has
- a parent
- data (text OR numeric)
getValue
Returns the text or numeric value of this Node.
text [SETTO [SETTOALT]]
The text() method is used to get or set text data for this node. If SETTO is passed, the nodes content is set to the SETTO string.
If the optional SETTOALT is passed and SETTO is false, the nodes value is set to SETTOALT.
Returns this nodes text, if set or NULL
numeric [SETTO [SETTOALT]]
The numeric() method is used to get or set numerical data for this node.
If SETTO is passed, the nodes content is set to the SETTO string.
If the optional SETTOALT is passed and SETTO is NULL, the nodes value is set to SETTOALT.
Returns this nodes text, if set or NULL
toString [DEPTH]
Returns this nodes contents as a string. If the special DEPTH $XML::Mini::NoWhiteSpaces is passed, no whitespaces will be inserted.
Download (0.34MB)
Added: 2007-08-17 License: Perl Artistic License Price:
798 downloads
Relations::Query 0.93
Relations::Query is a Perl Object for building queries with DBI/DBD::mysql. more>>
Relations::Query is a Perl Object for building queries with DBI/DBD::mysql.
SYNOPSIS
# Relations::Query Script that creates some queries.
use Relations::Query;
$query = new Relations::Query(-select => {fife => barney},
-from => {green_teeth => moogoo},
-where => "flotsam>jetsam",
-group_by => "denali",
-having => {fortune => cookie},
-order_by => [was,is,will],
-limit => 1);
$get_query = $query->get();
$query->set(-select => {clean => sparkle},
-from => {lean => book},
-where => "fighting is between courage and chaos",
-limit => 123);
$set_query = $query->get();
$get_add_query = $query->get_add(-select => {mean => dog},
-where => "running is null",
-having => {kitties=> on_tv},
-limit => [9678]);
$query = to_string({select => this,
from => that});
<<lessSYNOPSIS
# Relations::Query Script that creates some queries.
use Relations::Query;
$query = new Relations::Query(-select => {fife => barney},
-from => {green_teeth => moogoo},
-where => "flotsam>jetsam",
-group_by => "denali",
-having => {fortune => cookie},
-order_by => [was,is,will],
-limit => 1);
$get_query = $query->get();
$query->set(-select => {clean => sparkle},
-from => {lean => book},
-where => "fighting is between courage and chaos",
-limit => 123);
$set_query = $query->get();
$get_add_query = $query->get_add(-select => {mean => dog},
-where => "running is null",
-having => {kitties=> on_tv},
-limit => [9678]);
$query = to_string({select => this,
from => that});
Download (0.010MB)
Added: 2006-09-02 License: Perl Artistic License Price:
1147 downloads
Define Word 0.7.0 for Firefox
Define Word is an extension which allows you to look up definition of selected text. more>>
Define Word is an extension which allows you to look up definition of selected text.
Look up definition of selected text using any of several search engines. The list of engines is configurable.
<<lessLook up definition of selected text using any of several search engines. The list of engines is configurable.
Download (0.008MB)
Added: 2007-04-17 License: MPL (Mozilla Public License) Price:
922 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above null definition search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed