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

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

Serving Software Downloads in 976 Categories, Downloaded 29.542.317 Times

LibXDiff 0.22

  Date Added: October 07, 2010  |  Visits: 747

LibXDiff

Report Broken Link
Printer Friendly Version


Product Homepage
Download (75 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
Libraries  -  jsTemplate 0.2
jsTemplate is a small JavaScript library that allows you to create templates like PHP and ASP with JavaScript. The project can fetch templates using AJAX and execute them into the browser. The code is an evolution from the StickyShare.com...
5.12 KB  
Multi-Purpose Audio Players  -  Casper ISO Creator 1.0
As any expert ISO image file creating software, Casper ISO Creator is especially designed to create ISO image from CD or DVD. It supports multiple sources, including CD/DVD data disc and DVD video disc to create ISO image file. Mastering...
181.5 KB  
Libraries  -  iText for Linux 5.1.2
iText is a library that allows you to create and manipulate PDF documents. It enables developers looking to enhance web- and other applications with dynamic PDF document generation and/or manipulation. Developers can use iText to: Serve PDF to...
1.2 MB  
Libraries  -  cutee 0.4.2
cutee stands for C++ Unit Testing Easy Environment and makes it really easy to create and run tests of a library or application. It will automatically generate Makefiles, runner classes (classes that execute test functions), and main test...
7.17 KB  
Database Tools  -  TinyButStrong for Scripts 3.4.0
TinyButStrong is a library that enables you to create HTML pages dynamically.Features:- can connect to any database type - easy date-time and numeric formats,- blocks with alternated display,- multi-columns display,- conditional display,- event...
194.56 KB  
Database Tools  -  SQL Dumper 2.0.0 BETA
SQL Server Dumper enables you to dump selected SQL Server database tables into SQL INSERT statements, that are saved as local .sql files and contain all the data required to create a duplicate table, or to be used for backup purposes. You can...
408 KB  
Compression Tools  -  MicroZip 2.1
MicroZip is a powerful file compression utility for mobile phones which allows you to create and extract compressed archives in multiple formats and encrypt sensitive information with powerful AES-256 encryption. MicroZip can create and extract...
124.28 KB  
Multimedia & Graphics  -  OpenGL Class Library 0.0.1
The OpenGL Class Library (GLCL) is intented to be a set of C++ classes,available through static and dynamic libraries, that will allow thedeveloper to create OpenGL applications using C++ quickly.
118.58 KB  
Modules  -  Quickbooks IIF Creation 1.2
This script will when an order is placed create 2 IIF files , customer and sales thus allowing you to import the client info and order details once per day (or when you decide to) without having to enter all the customer information.The Customer...
 
Miscellaneous  -  phpGDImage 0.1
The PHP GD library functions are used to create an image with a specified size. The class can render several types of basic graphics on the image like points, lines, rectangles, filled areas and text. The graphics may be rendered with configurable...
 
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
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  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB