~ubuntu-branches/debian/squeeze/sword/squeeze

« back to all changes in this revision

Viewing changes to tests/compnone.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Marsden, Jonathan Marsden, Dmitrijs Ledkovs, Closed Bugs
  • Date: 2009-05-30 11:55:55 UTC
  • mfrom: (1.3.1 upstream) (6.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090530115555-r427zsn3amivdpfu
Tags: 1.6.0+dfsg-1
[ Jonathan Marsden ]
* New upstream release. (Closes: #507960) (LP: #320558)
* debian/patches/02_libver.diff:
  - Bump SONAME to 8 -- SWORD 1.6 is not backward compatible with 1.5.11.
* debian/patches/series:
  - Remove 10_diatheke.diff -- included in upstream source.
* debian/patches/:
  - Remove several old unused .diff files.
  - Add 11_regex_only_when_needed.diff to conditionally include regex lib.
  - Add 12_fix_compiler_warnings.diff to remove all compiler warnings.
  - Add 13_fix_osis2mod_compression_default.diff from upstream svn.
  - Add 14_closing_section_not_chapter.diff from upstream svn.
* debian/libsword7.*: 
  - Rename to libsword8.*
  - Change libsword7 to libsword8 within files.
* debian/rules: 
  - SONAME bump to 8.
  - Set library version check to >= 1.6
* debian/control:
  - Change libsword7 to libsword8.
  - Add libsword7 to Conflicts.
  - Fix case of sword to SWORD in package descriptions.
  - Bump Standards-Version to 3.8.1 (no changes needed).
  - Fix section for libsword-dbg to avoid lintian warning.
* debian/rules:
  - Add DFSG get-orig-source target.
* debian/copyright:
  - Fix various mistakes in initial attempt to document copyrights.

[ Dmitrijs Ledkovs ]
* debian/rules: Added utils.mk to use missing-files target and call it on
  each build.
* debian/libsword-dev.install: Added libsword.la, previously missing.
* debian/libsword7.install: Added missing libicu translit files.
* debian/control:
  - Updated all uses of SWORD version to 1.6
  - Added libsword-dbg package
* debian/watch: Fixed a small mistake which was resulting in extra "."
  in final version name.
* debian/rules: simplified manpage processing.
* debian/libsword8.lintian-overrides: added override for module
  installation directory.
* debian/copyright: Updated with information about everyfile.
  Closes: #513448 LP: #322638
* debian/diatheke.examples: moved examples here from the diatheke.install
* debian/rules:
  - enabled shell script based testsuite
  - added commented out cppunit testsuite
* debian/patches/40_missing_includes.diff: 
  - added several missing stdio.h includes to prevent FTBFS of testsuite.

[ Closed Bugs ]
* FTBFS on intrepid (LP: #305172)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
 
3
 *      CrossWire Bible Society
 
4
 *      P. O. Box 2528
 
5
 *      Tempe, AZ  85280-2528
 
6
 *
 
7
 * This program is free software; you can redistribute it and/or modify it
 
8
 * under the terms of the GNU General Public License as published by the
 
9
 * Free Software Foundation version 2.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful, but
 
12
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
14
 * General Public License for more details.
 
15
 *
 
16
 */
 
17
 
 
18
 
 
19
 
 
20
#include <ctype.h>
 
21
#include <stdio.h>
 
22
#include <fcntl.h>
 
23
#include <errno.h>
 
24
#include <stdlib.h>
 
25
#include <string.h>
 
26
 
 
27
#ifndef __GNUC__
 
28
#include <io.h>
 
29
#else
 
30
#include <unistd.h>
 
31
#endif
 
32
 
 
33
#include <filemgr.h>
 
34
#include <swcomprs.h>
 
35
 
 
36
#ifndef NO_SWORD_NAMESPACE
 
37
using namespace sword;
 
38
#endif
 
39
 
 
40
class FileCompress: public SWCompress {
 
41
        int ifd;
 
42
        int ofd;
 
43
        int ufd;
 
44
        int zfd;
 
45
public:
 
46
        FileCompress(char *);
 
47
        ~FileCompress();
 
48
        unsigned long GetChars(char *, unsigned long len);
 
49
        unsigned long SendChars(char *, unsigned long len);
 
50
        void Encode();
 
51
        void Decode();
 
52
};
 
53
 
 
54
 
 
55
FileCompress::FileCompress(char *fname) 
 
56
{
 
57
        char buf[256];
 
58
 
 
59
        ufd  = FileMgr::createPathAndFile(fname);
 
60
 
 
61
        sprintf(buf, "%s.zzz", fname);
 
62
        zfd = FileMgr::createPathAndFile(buf);
 
63
}
 
64
 
 
65
        
 
66
FileCompress::~FileCompress() 
 
67
{
 
68
        close(ufd);
 
69
        close(zfd);
 
70
}
 
71
 
 
72
 
 
73
unsigned long FileCompress::GetChars(char *buf, unsigned long len) 
 
74
{
 
75
        return read(ifd, buf, len);
 
76
}
 
77
 
 
78
 
 
79
unsigned long FileCompress::SendChars(char *buf, unsigned long len) 
 
80
{
 
81
        return write(ofd, buf, len);
 
82
}
 
83
 
 
84
 
 
85
void FileCompress::Encode() 
 
86
{
 
87
        ifd = ufd;
 
88
        ofd = zfd;
 
89
 
 
90
        SWCompress::Encode();
 
91
}
 
92
 
 
93
 
 
94
void FileCompress::Decode() 
 
95
{
 
96
        ifd = zfd;
 
97
        ofd = ufd;
 
98
 
 
99
        SWCompress::Decode();
 
100
}
 
101
 
 
102
 
 
103
int main(int argc, char **argv)
 
104
{
 
105
        int decomp = 0;
 
106
        SWCompress *fobj;
 
107
        
 
108
        if (argc != 2) {
 
109
                fprintf(stderr, "usage: %s <filename|filename.zzz>\n", argv[0]);
 
110
                exit(1);
 
111
        }
 
112
 
 
113
        if (strlen(argv[1]) > 4) {
 
114
                if (!strcmp(&argv[1][strlen(argv[1])-4], ".zzz")) {
 
115
                        argv[1][strlen(argv[1])-4] = 0;
 
116
                        decomp = 1;
 
117
                }
 
118
        }
 
119
                        
 
120
        fobj = new FileCompress(argv[1]);
 
121
        
 
122
        if (decomp)
 
123
                fobj->Decode();
 
124
        else fobj->Encode();
 
125
 
 
126
        delete fobj;
 
127
}