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 32.283.882 Times

LibXDiff 0.22

  Date Added: October 07, 2010  |  Visits: 791

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
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  -  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 3.15.3
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