summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib
diff options
context:
space:
mode:
authorMichael Vogt <egon@bottom>2007-06-06 23:56:19 +0200
committerMichael Vogt <egon@bottom>2007-06-06 23:56:19 +0200
commit484dbb814fd2b787b2206ffe9504798dfd73ae6c (patch)
tree5ba4ad9d3364b5005416b7bc6d687230878c895f /apt-pkg/contrib
parentfaa6596e09eec9535189c5baa7a6d2d4531f9239 (diff)
parent0be7a32e21dca2e96ce46f6e5b701011aea76586 (diff)
* merged the debian/experimental changes back
into the debian/sid branch * merged from Christian Perrier: * mr.po: New Marathi translation Closes: #416806 * zh_CN.po: Updated by Eric Pareja Closes: #416822 * tl.po: Updated by Eric Pareja Closes: #416638 * gl.po: Updated by Jacobo Tarrio * da.po: Updated by Claus Hindsgaul * fr.po: Remove a non-breakable space for usability * ru.po: Updated Russian translation. Closes: #405476 * *.po: Unfuzzy after upstream typo corrections * buildlib/archtable: - added support for sh3/sh4 (closes: #424870) - added support for m32r (closes: #394096) * buildlib/systemtable: - added support for lpia * configure.in: - check systemtable for architecture mapping too * Package that contains tall the new features * Removed all #pragma interface/implementation * Branch that contains tall the new features: * translated package descriptions * task install support * automatic dependency removal (thanks to Daniel Burrows) * merged support for the new dpkg "Breaks" field (thanks to Ian Jackson) * handle network failures more gracefully on "update" * support for unattended-upgrades (via unattended-upgrades package) * added apt-transport-https method * merged "install-recommends" branch (ABI break): - new "--install-recommends" - install new recommends on "upgrade" if --install-recommends is given - new "--fix-policy" option to install all packages with unmet important dependencies (usefull with --install-recommends to see what not-installed recommends are on the system) - fix of recommended packages display (only show CandidateVersion fix or-group handling) * merged "install-task" branch (use with "apt-get install taskname^") * Applied patch from Daniel Schepler to make apt bin-NMU able. * eu.po: Updated * fix apt-get dist-upgrade * fix warning if no /var/lib/apt/extended_states is present * don't download Translations for deb-src sources.list lines * apt-pkg/tagfile.cc: - support not-mmapable files again * added support for i18n of the package descriptions * added support for aptitude like auto-install tracking (a HUGE HUGE thanks to Daniel Burrows who made this possible) * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental * apt-pkg/depcache.cc: - added Debug::pkgDepCache::AutoInstall (thanks to infinity) * apt-pkg/acquire-item.cc: - fix missing chmod() in the new aquire code (thanks to Bastian Blank, Closes: #367425) * merged from http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: * sk.po: Completed to 512t * eu.po: Completed to 512t * fr.po: Completed to 512t * sv.po: Completed to 512t * Update all PO and the POT. Gives 506t6f for formerly complete translations * Fix a incorrect example in the man-page (closes: #282918)
Diffstat (limited to 'apt-pkg/contrib')
-rw-r--r--apt-pkg/contrib/cdromutl.h4
-rw-r--r--apt-pkg/contrib/cmndline.h4
-rw-r--r--apt-pkg/contrib/configuration.h4
-rw-r--r--apt-pkg/contrib/crc-16.h4
-rw-r--r--apt-pkg/contrib/error.h4
-rw-r--r--apt-pkg/contrib/fileutl.h3
-rw-r--r--apt-pkg/contrib/hashes.h3
-rw-r--r--apt-pkg/contrib/md5.h3
-rw-r--r--apt-pkg/contrib/mmap.h3
-rw-r--r--apt-pkg/contrib/progress.h3
-rw-r--r--apt-pkg/contrib/sha1.h4
-rw-r--r--apt-pkg/contrib/sha256.h4
-rw-r--r--apt-pkg/contrib/strutl.cc43
-rw-r--r--apt-pkg/contrib/strutl.h7
14 files changed, 49 insertions, 44 deletions
diff --git a/apt-pkg/contrib/cdromutl.h b/apt-pkg/contrib/cdromutl.h
index db140ec02..f24bb8c70 100644
--- a/apt-pkg/contrib/cdromutl.h
+++ b/apt-pkg/contrib/cdromutl.h
@@ -14,10 +14,6 @@
using std::string;
-#ifdef __GNUG__
-#pragma interface "apt-pkg/cdromutl.h"
-#endif
-
bool MountCdrom(string Path);
bool UnmountCdrom(string Path);
bool IdentCdrom(string CD,string &Res,unsigned int Version = 2);
diff --git a/apt-pkg/contrib/cmndline.h b/apt-pkg/contrib/cmndline.h
index 8f461296f..fad6d1da9 100644
--- a/apt-pkg/contrib/cmndline.h
+++ b/apt-pkg/contrib/cmndline.h
@@ -44,9 +44,7 @@
#ifndef PKGLIB_CMNDLINE_H
#define PKGLIB_CMNDLINE_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/cmndline.h"
-#endif
+
#include <apt-pkg/configuration.h>
diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h
index 0d4078dab..2534692a3 100644
--- a/apt-pkg/contrib/configuration.h
+++ b/apt-pkg/contrib/configuration.h
@@ -28,9 +28,7 @@
#ifndef PKGLIB_CONFIGURATION_H
#define PKGLIB_CONFIGURATION_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/configuration.h"
-#endif
+
#include <string>
#include <iostream>
diff --git a/apt-pkg/contrib/crc-16.h b/apt-pkg/contrib/crc-16.h
index 757104c54..f30678bac 100644
--- a/apt-pkg/contrib/crc-16.h
+++ b/apt-pkg/contrib/crc-16.h
@@ -10,10 +10,6 @@
#ifndef APTPKG_CRC16_H
#define APTPKG_CRC16_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/crc-16.h"
-#endif
-
#define INIT_FCS 0xffff
unsigned short AddCRC16(unsigned short fcs, void const *buf,
unsigned long len);
diff --git a/apt-pkg/contrib/error.h b/apt-pkg/contrib/error.h
index a5fc1a223..a3be6a575 100644
--- a/apt-pkg/contrib/error.h
+++ b/apt-pkg/contrib/error.h
@@ -40,9 +40,7 @@
#ifndef PKGLIB_ERROR_H
#define PKGLIB_ERROR_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/error.h"
-#endif
+
#ifdef __GNUG__
// Methods have a hidden this parameter that is visible to this attribute
diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h
index 041aa3309..48bd95537 100644
--- a/apt-pkg/contrib/fileutl.h
+++ b/apt-pkg/contrib/fileutl.h
@@ -21,9 +21,6 @@
#ifndef PKGLIB_FILEUTL_H
#define PKGLIB_FILEUTL_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/fileutl.h"
-#endif
#include <string>
diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h
index eefa7bf41..b09ea9f6b 100644
--- a/apt-pkg/contrib/hashes.h
+++ b/apt-pkg/contrib/hashes.h
@@ -13,9 +13,6 @@
#ifndef APTPKG_HASHES_H
#define APTPKG_HASHES_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/hashes.h"
-#endif
#include <apt-pkg/md5.h>
#include <apt-pkg/sha1.h>
diff --git a/apt-pkg/contrib/md5.h b/apt-pkg/contrib/md5.h
index e280d714e..247b3fab9 100644
--- a/apt-pkg/contrib/md5.h
+++ b/apt-pkg/contrib/md5.h
@@ -23,9 +23,6 @@
#ifndef APTPKG_MD5_H
#define APTPKG_MD5_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/md5.h"
-#endif
#include <string>
#include <algorithm>
diff --git a/apt-pkg/contrib/mmap.h b/apt-pkg/contrib/mmap.h
index e329b167a..19cf7582d 100644
--- a/apt-pkg/contrib/mmap.h
+++ b/apt-pkg/contrib/mmap.h
@@ -25,9 +25,6 @@
#ifndef PKGLIB_MMAP_H
#define PKGLIB_MMAP_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/mmap.h"
-#endif
#include <string>
#include <apt-pkg/fileutl.h>
diff --git a/apt-pkg/contrib/progress.h b/apt-pkg/contrib/progress.h
index 20caf4cdf..7dd004f7e 100644
--- a/apt-pkg/contrib/progress.h
+++ b/apt-pkg/contrib/progress.h
@@ -21,9 +21,6 @@
#ifndef PKGLIB_PROGRESS_H
#define PKGLIB_PROGRESS_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/progress.h"
-#endif
#include <string>
#include <sys/time.h>
diff --git a/apt-pkg/contrib/sha1.h b/apt-pkg/contrib/sha1.h
index db8ca7893..010ef802e 100644
--- a/apt-pkg/contrib/sha1.h
+++ b/apt-pkg/contrib/sha1.h
@@ -14,10 +14,6 @@
#ifndef APTPKG_SHA1_H
#define APTPKG_SHA1_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/sha1.h"
-#endif
-
#include <string>
#include <algorithm>
diff --git a/apt-pkg/contrib/sha256.h b/apt-pkg/contrib/sha256.h
index 70b3ae2ad..c490bfa4d 100644
--- a/apt-pkg/contrib/sha256.h
+++ b/apt-pkg/contrib/sha256.h
@@ -14,10 +14,6 @@
#ifndef APTPKG_SHA256_H
#define APTPKG_SHA256_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/sha256.h"
-#endif
-
#include <string>
#include <algorithm>
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index d96155917..37d263794 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -32,12 +32,55 @@
#include <regex.h>
#include <errno.h>
#include <stdarg.h>
+#include <iconv.h>
#include "config.h"
using namespace std;
/*}}}*/
+// UTF8ToCodeset - Convert some UTF-8 string for some codeset /*{{{*/
+// ---------------------------------------------------------------------
+/* This is handy to use before display some information for enduser */
+bool UTF8ToCodeset(const char *codeset, const string &orig, string *dest)
+{
+ iconv_t cd;
+ const char *inbuf;
+ char *inptr, *outbuf, *outptr;
+ size_t insize, outsize;
+
+ cd = iconv_open(codeset, "UTF-8");
+ if (cd == (iconv_t)(-1)) {
+ // Something went wrong
+ if (errno == EINVAL)
+ _error->Error("conversion from 'UTF-8' to '%s' not available",
+ codeset);
+ else
+ perror("iconv_open");
+
+ // Clean the destination string
+ *dest = "";
+
+ return false;
+ }
+
+ insize = outsize = orig.size();
+ inbuf = orig.data();
+ inptr = (char *)inbuf;
+ outbuf = new char[insize+1];
+ outptr = outbuf;
+
+ iconv(cd, &inptr, &insize, &outptr, &outsize);
+ *outptr = '\0';
+
+ *dest = outbuf;
+ delete[] outbuf;
+
+ iconv_close(cd);
+
+ return true;
+}
+ /*}}}*/
// strstrip - Remove white space from the front and back of a string /*{{{*/
// ---------------------------------------------------------------------
/* This is handy to use when parsing a file. It also removes \n's left
diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h
index 6ec2b7811..ae1244ecd 100644
--- a/apt-pkg/contrib/strutl.h
+++ b/apt-pkg/contrib/strutl.h
@@ -16,9 +16,7 @@
#ifndef STRUTL_H
#define STRUTL_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/strutl.h"
-#endif
+
#include <stdlib.h>
#include <string>
@@ -38,7 +36,8 @@ using std::ostream;
#define APT_FORMAT2
#define APT_FORMAT3
#endif
-
+
+bool UTF8ToCodeset(const char *codeset, const string &orig, string *dest);
char *_strstrip(char *String);
char *_strtabexpand(char *String,size_t Len);
bool ParseQuoteWord(const char *&String,string &Res);