Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.067.936 Times

LibXDiff 0.22

  Date Added: October 07, 2010  |  Visits: 1.019

LibXDiff

Report Broken Link
Printer Friendly Version


Product Homepage
Download (98 downloads)



LibXDiff implements basic and yet complete functionalities to create file differences/patches to both binary and text files. The library uses memory files as file abstraction to achieve both performance and portability. For binary files, LibXDiff implements (with some modification) the algorithm described in File System Support for Delta Compression by Joshua P. MacDonald, while for text files it follows directives described in An O(ND) Difference Algorithm and Its Variations by Eugene W. Myers. Memory files used by the library are basically a collection of buffers that store the file content. There are two different requirements for memory files when passed to diff/patch functions. Text files for diff/patch functions require that a single line do not have to spawn across two different memory file blocks. Binary diff/patch functions require memory files to be compact. A compact memory files is a file whose content is stored inside a single block. Functionalities inside the library are available to satisfy these rules. Using the XDL_MMF_ATOMIC memory file flag it is possible to make writes to not split the written record across different blocks, while the functions xdl_mmfile_iscompact() , xdl_mmfile_compact() and xdl_mmfile_writeallocate() are usefull to test if the file is compact and to create a compacted version of the file itself. The text file differential output uses the raw unified output format, by omitting the file header since the result is always relative to a single compare operation (between two files). The output format of the binary patch file is proprietary (and binary) and it is basically a collection of copy and insert commands, like described inside the MacDonald paper. The library is compatible with almost every Unix implementation (configure script) and it is also compatible with Windows through custom (nmake) make files. Examples are available inside the test subdirectory of the distribution tarball that show how to use the library. Also, inside the same subdirectory, a regression test in available that tests the library with random data by requiring a diff followed by a patch and comparing results. Regression tests ran successfully for days on my Linux, Solaris, FreeBSD and Windows boxes, and this makes me believe that the library itself is completely ready for production (despite the version number). Whats New in This Release: - A bug in indexing on 64-bit machines was fixed..

Requirements: No special requirements
Platforms: Linux
Keyword: Binary Create File File Files Implements Libraries Library Libxdiff Memory Programming To Create
Users rating: 0/10

License: Freeware Size: 358.4 KB
USER REVIEWS
More Reviews or Write Review


LIBXDIFF RELATED
Utilities  -  pyFLTK 0.4
JNI++ is a set of two code generating utilities and a core C++ library that simplify programming to the Java Native Interface (JNI) with C++. The first of these utilities is used to generate C++ "proxy" classes given a Java class or interface, and...
1.38 MB  
Development Tools  -  mklib: a pedestrian function library loader generator 1.0
MKLIB takes one or more list(s) of valid M-files and automatically creates a library loader function (M-file), which returns a structure of function handles to all the subfunctions found in those M-filesthe structure's field names are set to the...
10 KB  
Libraries  -  Chilkat MHT C++ Library 9.2.1
Chilkat MHT is a C++ library that enables you to encode HTML files to self-contained .MHT web archives. Can also convert HTML into a self-contained email with all referenced images embedded within the email. Chilkat MHT can download HTML from a...
 
Networking Tools  -  Raw Socket Library 2.1
Raw Socket Library provides a simple to use raw socket library with IPV6 support. Raw Socket Library provides a simple mechanism to send raw socket packet using IPV4 and IPV6 using a simple struct. It currently supports TCP, ICMP, UDP, and...
12.29 KB  
Libraries  -  Xephyrus File Upload Tag Library 1.0
Xephyrus File Upload Tag Library provides an easy way to process files uploaded from a web form from within JSP pages. It is a tag library wrapper around the Jakarta Commons FileUpload utility. Whats New in This Release: - added keepPath...
25.6 KB  
Libraries  -  Daizu::File 0.3
Daizu::File is a Perl class representing files in working copies. Each object of this class represents a particular file in a Daizu CMS working copy (a record in the wc_file table). METHODS Note that all the functions which return the value...
419.84 KB  
Security Tools  -  File Shredder 2.0
File Shredder is free, secure and fast application to permanently shred and delete files and folders on your computer. Shredded files can not be brought back by using specialized software, tricks or hacks - File Shredder destroyes them beyond...
904.2 KB  
Libraries  -  Audio::TagLib::Vorbis::File 1.42
Audio::TagLib::Vorbis::File is an implementation of Ogg::File with Vorbis specific methods. SYNOPSIS use Audio::TagLib::Vorbis::File; my $i = Audio::TagLib::Vorbis::File->new("sample vorblis file.ogg"); print...
1.4 MB  
Libraries  -  Log::Dispatch::File::Rolling 1.04
Log::Dispatch::File::Rolling is a Perl object for logging to date/time/pid stamped files. SYNOPSIS use Log::Dispatch::File::Rolling; my $file = Log::Dispatch::File::Rolling->new( name => file1, min_level => info, filename =>...
5.12 KB  
Libraries  -  Log::Dispatch::File::Alerts 1.00
Log::Dispatch::File::Alerts is a Perl object for logging to alert files. SYNOPSIS use Log::Dispatch::File::Alerts; my $file = Log::Dispatch::File::Alerts->new( name => file1, min_level => emerg, filename => Somefile%d{yyyy!!!!}.log, mode...
5.12 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB