#include <config.h>
#include <dpkg.h>
+#include <dpkg-db.h>
/* Incremented when we do some kind of generally necessary operation, so that
* loops &c know to quit if we take an error exit. Decremented again afterwards.
checksubprocerr(status,description,sigpipeok);
}
-int do_fd_copy(int fd1, int fd2, int limit, char *desc) {
- char *buf, *sbuf;
- int count, bufsize = 32768;
- char *er_msg_1 = _("failed to allocate buffer for copy (%s)");
- char *er_msg_2 = _("failed in copy on write (%s)");
- char *er_msg_3 = _("failed in copy on read (%s)");
-
- count = strlen(er_msg_1) + strlen(desc) + 1;
- sbuf = malloc(count);
- if(sbuf == NULL)
- ohshite(_("failed to allocate buffer for snprintf 1"));
- snprintf(sbuf, count, er_msg_1, desc);
- sbuf[count-1] = 0;
-
- if((limit != -1) && (limit < bufsize))
- bufsize = limit;
- buf = malloc(bufsize);
- if(buf == NULL)
- ohshite(sbuf);
- free(sbuf);
-
- while((count = read(fd1, buf, bufsize)) > 0) {
- if(write(fd2, buf, count) < count) {
- count = strlen(er_msg_2) + strlen(desc) + 1;
- sbuf = malloc(count);
- if(sbuf == NULL)
- ohshite(_("failed in copy on write"));
- snprintf(sbuf, count, er_msg_2, desc);
- sbuf[count-1] = 0;
- ohshite(sbuf);
- }
- if(limit != -1) {
- limit -= count;
- if(limit < bufsize)
- bufsize = limit;
- }
- }
- free(sbuf);
+typedef void (*do_fd_write_t)(char *, int, char *, void *data);
+typedef struct do_fd_copy_data {
+ int fd;
+} do_fd_copy_data_t;
+typedef struct do_fd_buf_data {
+ char *buf;
+} do_fd_buf_data_t;
+
+int do_fd_write_fd(char* buf, int length, void *proc_data, char *desc) {
+ do_fd_copy_data_t *data = (do_fd_copy_data_t *)proc_data;
+ if(write(data->fd, buf, length) < length)
+ ohshite(_("failed in do_fd_write_fd (%s)"), dsc);
+}
+
+int do_fd_copy(int fd1, int fd2, int limit, char *desc, ...) {
+ do_fd_copy_data_t data = { fd2 };
+ va_list al;
+ struct varbuf v;
+
+ varbufinit(&v);
+
+ va_start(al,desc);
+ varbufvprintf(&v, desc, al);
+ va_end(al);
+
+ do_fd_read(fd1, limit, do_fd_write_fd, &data, v.buf);
+ varbuffree(&v);
+}
+
+int do_fd_write_buf(char *buf, int length, void *proc_data, char *desc) {
+ do_fd_buf_data_t *data = (do_fd_buf_data_t *)proc_data;
+ memcpy(data->buf, buf, length);
+ data->buf += length;
+}
+
+int read_fd_into_buf(int fd, char *buf, int limit, char *desc, ...) {
+ do_fd_buf_data_t data = { buf };
+ va_list al;
+ struct varbuf v;
+
+ varbufinit(&v);
+
+ va_start(al,desc);
+ varbufvprintf(&v, desc, al);
+ va_end(al);
+
+ do_fd_read(fd, limit, do_fd_write_buf, &data, v.buf);
+ varbuffree(&v);
+}
+
+int do_fd_read(int fd1, int limit, do_fd_write_t write_proc, void *proc_data, char *desc) {
+ char *buf;
+ int count, bufsize= 32768, bytesread= 0;
+
+ if((limit != -1) && (limit < bufsize)) bufsize= limit;
+ buf= malloc(bufsize);
+ if(buf== NULL) ohshite(_("failed to allocate buffer in do_fd_read (%s)"), desc);
+
+ while(1) {
+ count= read(fd1, buf, bufsize);
if (count<0) {
- count = strlen(er_msg_3) + strlen(desc) + 1;
- sbuf = malloc(count);
- if(sbuf == NULL)
- ohshite(_("failed in copy on read"));
- snprintf(sbuf, count, er_msg_3, desc);
- sbuf[count-1] = 0;
- ohshite(sbuf);
+ if (errno==EINTR) continue;
+ break;
}
+ if (count==0)
+ break;
+
+ bytesread+= count;
+ write_proc(buf, count, proc_data, desc);
+ if(limit!=-1) {
+ limit-= count;
+ if(limit<bufsize)
+ bufsize=limit;
+ }
+ }
+ if (count<0) ohshite(_("failed in do_fd_read on read (%s)"), desc);
- free(sbuf);
- free(buf);
+ free(buf);
}
int search, findlast, putat;
struct stat stat_buf;
char *loaded_list, *loaded_list_end, *thisline, *nextline, *ptr;
- ssize_t bytes, readden;
+ ssize_t bytes;
if (pkg->clientdata && pkg->clientdata->fileslistvalid) return;
ensure_package_clientdata(pkg);
ohshite("unable to stat files list file for package `%.250s'",pkg->name);
loaded_list = nfmalloc(stat_buf.st_size);
loaded_list_end = loaded_list + stat_buf.st_size;
- /* stdio is an extra copy, hence we use read() */
- readden = 0; /* write->written, read->readden */
- while (readden < stat_buf.st_size) {
- bytes = read(fileno(file),
- loaded_list + readden, stat_buf.st_size - readden);
- if (bytes < 0) {
- if (errno == EINTR) continue;
- ohshite("unable to read files list for package `%.250s'",pkg->name);
- }
- if (!bytes)
- ohshit("unexpected end of file in files list for package `%.250s'",pkg->name);
- readden += bytes;
- }
-
+
+ read_fd_into_buf(fileno(file), loaded_list, stat_buf.st_size, _("files list for package `%.250s'"), pkg->name);
+
lendp= &pkg->clientdata->files;
thisline = loaded_list;
while (thisline < loaded_list_end) {
struct stat stab1, stab2;
FILE *file;
char *loaded_list, *loaded_list_end, *thisline, *nextline, *ptr;
- ssize_t bytes, readden;
+ ssize_t bytes;
struct filestatoverride *fso;
struct filenamenode *fnn;
loaded_list = nfmalloc(stab2.st_size);
loaded_list_end = loaded_list + stab2.st_size;
- readden=0;
- while (readden<stab2.st_size) {
- bytes = read(fileno(file),
- loaded_list + readden, stab2.st_size - readden);
- if (bytes < 0) {
- if (errno == EINTR) continue;
- ohshite("unable to read statoverride file `%.250s'",vb.buf);
- }
- if (!bytes)
- ohshit("unexpected end of file in statoverride file `%.250s'",vb.buf);
- readden += bytes;
- }
+
+ read_fd_into_buf(fileno(file), loaded_list, stab2.st_size, _("statoverride file `%.250s'"), vb.buf);
thisline = loaded_list;
while (thisline<loaded_list_end) {
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-11-05 17:51+0100\n"
+"POT-Creation-Date: 2000-12-04 01:13+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "unable to install updated status of `%.250s'"
msgstr ""
-#: lib/dump.c:249
+#: lib/dump.c:250
#, c-format
msgid "failed to open `%s' for writing %s information"
msgstr ""
-#: lib/dump.c:252 lib/parse.c:97
+#: lib/dump.c:253 lib/parse.c:97
msgid "unable to set buffering on status file"
msgstr ""
-#: lib/dump.c:263
+#: lib/dump.c:264
#, c-format
msgid "failed to write %s record about `%.50s' to `%.250s'"
msgstr ""
-#: lib/dump.c:270
+#: lib/dump.c:271
#, c-format
msgid "failed to flush %s information to `%.250s'"
msgstr ""
-#: lib/dump.c:272
+#: lib/dump.c:273
#, c-format
msgid "failed to fsync %s information to `%.250s'"
msgstr ""
-#: lib/dump.c:274
+#: lib/dump.c:275
#, c-format
msgid "failed to close `%.250s' after writing %s information"
msgstr ""
-#: lib/dump.c:278
+#: lib/dump.c:279
#, c-format
msgid "failed to link `%.250s' to `%.250s' for backup of %s info"
msgstr ""
-#: lib/dump.c:281
+#: lib/dump.c:282
#, c-format
msgid "failed to install `%.250s' as `%.250s' containing %s info"
msgstr ""
msgid "unable to lock dpkg status database"
msgstr ""
-#: lib/mlib.c:47
+#: lib/mlib.c:48
#, c-format
msgid "malloc failed (%ld bytes)"
msgstr ""
-#: lib/mlib.c:60
+#: lib/mlib.c:61
#, c-format
msgid "realloc failed (%ld bytes)"
msgstr ""
-#: lib/mlib.c:67
+#: lib/mlib.c:68
#, c-format
msgid "%s (subprocess): %s\n"
msgstr ""
-#: lib/mlib.c:80
+#: lib/mlib.c:81
msgid "fork failed"
msgstr ""
-#: lib/mlib.c:93
+#: lib/mlib.c:94
#, c-format
msgid "failed to dup for std%s"
msgstr ""
-#: lib/mlib.c:94
+#: lib/mlib.c:95
#, c-format
msgid "failed to dup for fd %d"
msgstr ""
-#: lib/mlib.c:100
+#: lib/mlib.c:101
msgid "failed to create pipe"
msgstr ""
-#: lib/mlib.c:107
+#: lib/mlib.c:108
#, c-format
msgid "subprocess %s returned error exit status %d"
msgstr ""
-#: lib/mlib.c:110
+#: lib/mlib.c:111
#, c-format
msgid "subprocess %s killed by signal (%s)%s"
msgstr ""
-#: lib/mlib.c:113
+#: lib/mlib.c:114
#, c-format
msgid "subprocess %s failed with wait status code %d"
msgstr ""
-#: lib/mlib.c:122 main/help.c:364
+#: lib/mlib.c:123 main/help.c:367
#, c-format
msgid "wait for %s failed"
msgstr ""
-#: lib/mlib.c:129
+#: lib/mlib.c:137
#, c-format
-msgid "failed to allocate buffer for copy (%s)"
+msgid "failed in do_fd_write_fd (%s)"
msgstr ""
-#: lib/mlib.c:130
-#, c-format
-msgid "failed in copy on write (%s)"
+#: lib/mlib.c:142
+msgid "failed in do_fd_write_fd"
msgstr ""
-#: lib/mlib.c:131
+#: lib/mlib.c:195
#, c-format
-msgid "failed in copy on read (%s)"
-msgstr ""
-
-#: lib/mlib.c:136
-msgid "failed to allocate buffer for snprintf 1"
-msgstr ""
-
-#: lib/mlib.c:148 lib/mlib.c:160
-msgid "failed to allocate buffer for snprintf 2"
+msgid "failed to allocate buffer in do_fd_read (%s)"
msgstr ""
-#: lib/mlib.c:165
-msgid "failed in copy on read (control)"
+#: lib/mlib.c:215
+#, c-format
+msgid "failed in do_fd_read on read (%s)"
msgstr ""
#: lib/myopt.c:38
msgid "failed to open configuration file `%.255s' for reading"
msgstr ""
-#: lib/myopt.c:67
+#: lib/myopt.c:70
#, c-format
msgid "configuration error: unknown option %s"
msgstr ""
-#: lib/myopt.c:70
+#: lib/myopt.c:73
#, c-format
msgid "configuration error: %s needs a value"
msgstr ""
-#: lib/myopt.c:74
+#: lib/myopt.c:77
#, c-format
msgid "configuration error: %s does not take a value"
msgstr ""
-#: lib/myopt.c:79
+#: lib/myopt.c:82
#, c-format
msgid "read error in configuration file `%.255s'"
msgstr ""
-#: lib/myopt.c:80
+#: lib/myopt.c:83
#, c-format
msgid "error closing configuration file `%.255s'"
msgstr ""
-#: lib/myopt.c:103
+#: lib/myopt.c:106
#, c-format
msgid "unknown option --%s"
msgstr ""
-#: lib/myopt.c:107
+#: lib/myopt.c:110
#, c-format
msgid "--%s option takes a value"
msgstr ""
-#: lib/myopt.c:112
+#: lib/myopt.c:115
#, c-format
msgid "--%s option does not take a value"
msgstr ""
-#: lib/myopt.c:119
+#: lib/myopt.c:122
#, c-format
msgid "unknown option -%c"
msgstr ""
-#: lib/myopt.c:124
+#: lib/myopt.c:127
#, c-format
msgid "-%c option takes a value"
msgstr ""
-#: lib/myopt.c:132
+#: lib/myopt.c:135
#, c-format
msgid "-%c option does not take a value"
msgstr ""
msgid "failed to open package info file `%.255s' for reading"
msgstr ""
-#: lib/parse.c:124
+#: lib/parse.c:123
#, c-format
msgid "EOF after field name `%.50s'"
msgstr ""
-#: lib/parse.c:127
+#: lib/parse.c:126
#, c-format
msgid "newline in field name `%.50s'"
msgstr ""
-#: lib/parse.c:130
+#: lib/parse.c:129
#, c-format
msgid "MSDOS EOF (^Z) in field name `%.50s'"
msgstr ""
-#: lib/parse.c:133
+#: lib/parse.c:132
#, c-format
msgid "field name `%.50s' must be followed by colon"
msgstr ""
-#: lib/parse.c:141
+#: lib/parse.c:140
#, c-format
msgid "EOF before value of field `%.50s' (missing final newline)"
msgstr ""
-#: lib/parse.c:145
+#: lib/parse.c:144
#, c-format
msgid "MSDOS EOF char in value of field `%.50s' (missing newline?)"
msgstr ""
-#: lib/parse.c:156
+#: lib/parse.c:155
#, c-format
msgid "EOF during value of field `%.50s' (missing final newline)"
msgstr ""
-#: lib/parse.c:173
+#: lib/parse.c:172
#, c-format
msgid "duplicate value for `%s' field"
msgstr ""
-#: lib/parse.c:178
+#: lib/parse.c:177
#, c-format
msgid "user-defined field name `%s' too short"
msgstr ""
-#: lib/parse.c:183
+#: lib/parse.c:182
#, c-format
msgid "duplicate value for user-defined field `%.50s'"
msgstr ""
-#: lib/parse.c:196
+#: lib/parse.c:195
msgid "several package info entries found, only one allowed"
msgstr ""
-#: lib/parse.c:224
+#: lib/parse.c:223
msgid "Configured-Version for package with inappropriate Status"
msgstr ""
-#: lib/parse.c:238
+#: lib/parse.c:237
msgid "Package which in state not-installed has conffiles, forgetting them"
msgstr ""
-#: lib/parse.c:286
+#: lib/parse.c:285
#, c-format
msgid "failed to read from `%.255s'"
msgstr ""
-#: lib/parse.c:288
+#: lib/parse.c:287
#, c-format
msgid "failed to close after read: `%.255s'"
msgstr ""
-#: lib/parse.c:289
+#: lib/parse.c:288
#, c-format
msgid "no package information in `%.255s'"
msgstr ""
msgid "cannot open GPL file "
msgstr ""
-#: lib/varbuf.c:77
+#: lib/varbuf.c:93
msgid "failed to realloc for variable buffer"
msgstr ""
"assuming package has no files currently installed.\n"
msgstr ""
-#: main/filesdb.c:174
+#: main/filesdb.c:150
+#, c-format
+msgid "files list for package `%.250s'"
+msgstr ""
+
+#: main/filesdb.c:163
#, c-format
msgid "files list file for package `%.250s' contains empty filename"
msgstr ""
-#: main/filesdb.c:185
+#: main/filesdb.c:174
#, c-format
msgid "error closing files list file for package `%.250s'"
msgstr ""
-#: main/filesdb.c:187
+#: main/filesdb.c:176
#, c-format
msgid "files list file for package `%.250s' is truncated"
msgstr ""
-#: main/filesdb.c:218
+#: main/filesdb.c:207
msgid "(Reading database ... "
msgstr ""
-#: main/filesdb.c:218
+#: main/filesdb.c:207
msgid "(Scanning database ... "
msgstr ""
-#: main/filesdb.c:226
+#: main/filesdb.c:215
#, c-format
msgid "%d files and directories currently installed.)\n"
msgstr ""
-#: main/filesdb.c:257
+#: main/filesdb.c:246
#, c-format
msgid "unable to create updated files list file for package %s"
msgstr ""
-#: main/filesdb.c:267
+#: main/filesdb.c:256
#, c-format
msgid "failed to write to updated files list file for package %s"
msgstr ""
-#: main/filesdb.c:269
+#: main/filesdb.c:258
#, c-format
msgid "failed to flush updated files list file for package %s"
msgstr ""
-#: main/filesdb.c:271
+#: main/filesdb.c:260
#, c-format
msgid "failed to sync updated files list file for package %s"
msgstr ""
-#: main/filesdb.c:274
+#: main/filesdb.c:263
#, c-format
msgid "failed to close updated files list file for package %s"
msgstr ""
-#: main/filesdb.c:276
+#: main/filesdb.c:265
#, c-format
msgid "failed to install updated files list file for package %s"
msgstr ""
-#: main/filesdb.c:341
+#: main/filesdb.c:330
msgid "failed to open statoverride file"
msgstr ""
-#: main/filesdb.c:345
+#: main/filesdb.c:334
msgid "failed to fstat statoverride file"
msgstr ""
-#: main/filesdb.c:348
+#: main/filesdb.c:337
msgid "failed to fstat previous statoverride file"
msgstr ""
-#: main/filesdb.c:383
+#: main/filesdb.c:349
+#, c-format
+msgid "statoverride file `%.250s'"
+msgstr ""
+
+#: main/filesdb.c:362
msgid "statoverride file contains empty line"
msgstr ""
-#: main/filesdb.c:468
+#: main/filesdb.c:447
msgid "failed to open diversions file"
msgstr ""
-#: main/filesdb.c:472
+#: main/filesdb.c:451
msgid "failed to fstat previous diversions file"
msgstr ""
-#: main/filesdb.c:474
+#: main/filesdb.c:453
msgid "failed to fstat diversions file"
msgstr ""
-#: main/filesdb.c:496
+#: main/filesdb.c:475
msgid "fgets gave an empty string from diversions [i]"
msgstr ""
-#: main/filesdb.c:497
+#: main/filesdb.c:476
msgid "diversions file has too-long line or EOF [i]"
msgstr ""
-#: main/filesdb.c:503
+#: main/filesdb.c:482
msgid "read error in diversions [ii]"
msgstr ""
-#: main/filesdb.c:504
+#: main/filesdb.c:483
msgid "unexpected EOF in diversions [ii]"
msgstr ""
-#: main/filesdb.c:507
+#: main/filesdb.c:486
msgid "fgets gave an empty string from diversions [ii]"
msgstr ""
-#: main/filesdb.c:508 main/filesdb.c:519
+#: main/filesdb.c:487 main/filesdb.c:498
msgid "diversions file has too-long line or EOF [ii]"
msgstr ""
-#: main/filesdb.c:514
+#: main/filesdb.c:493
msgid "read error in diversions [iii]"
msgstr ""
-#: main/filesdb.c:515
+#: main/filesdb.c:494
msgid "unexpected EOF in diversions [iii]"
msgstr ""
-#: main/filesdb.c:518
+#: main/filesdb.c:497
msgid "fgets gave an empty string from diversions [iii]"
msgstr ""
-#: main/filesdb.c:526
+#: main/filesdb.c:505
#, c-format
msgid "conflicting diversions involving `%.250s' or `%.250s'"
msgstr ""
-#: main/filesdb.c:535
+#: main/filesdb.c:514
msgid "read error in diversions [i]"
msgstr ""
msgid "not installed but configs remain"
msgstr ""
-#: main/help.c:84
+#: main/help.c:87
msgid "dpkg - warning: PATH is not set.\n"
msgstr ""
-#: main/help.c:99
+#: main/help.c:102
#, c-format
msgid "dpkg: `%s' not found on PATH.\n"
msgstr ""
-#: main/help.c:106
+#: main/help.c:109
#, c-format
msgid ""
"%d expected program(s) not found on PATH.\n"
"NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin."
msgstr ""
-#: main/help.c:176
+#: main/help.c:179
#, c-format
msgid "failed to chroot to `%.250s'"
msgstr ""
-#: main/help.c:223
+#: main/help.c:226
#, c-format
msgid "error un-catching signal %s: %s\n"
msgstr ""
-#: main/help.c:241
+#: main/help.c:244
#, c-format
msgid "unable to ignore signal %s before running script"
msgstr ""
-#: main/help.c:250
+#: main/help.c:253
#, c-format
msgid "unable to set execute permissions on `%.250s'"
msgstr ""
-#: main/help.c:274
+#: main/help.c:277
#, c-format
msgid "unable to stat installed %s script `%.250s'"
msgstr ""
-#: main/help.c:281 main/help.c:360 main/help.c:400
+#: main/help.c:284 main/help.c:363 main/help.c:403
#, c-format
msgid "unable to execute %s"
msgstr ""
-#: main/help.c:311
+#: main/help.c:314
#, c-format
msgid "unable to stat new %s script `%.250s'"
msgstr ""
-#: main/help.c:318
+#: main/help.c:321
#, c-format
msgid "unable to execute new %s"
msgstr ""
-#: main/help.c:344
+#: main/help.c:347
#, c-format
msgid "old %s script"
msgstr ""
-#: main/help.c:352
+#: main/help.c:355
#, c-format
msgid "dpkg: warning - unable to stat %s `%.250s': %s\n"
msgstr ""
-#: main/help.c:368
+#: main/help.c:371
#, c-format
msgid "dpkg: warning - %s returned error exit status %d\n"
msgstr ""
-#: main/help.c:371
+#: main/help.c:374
#, c-format
msgid "dpkg: warning - %s killed by signal (%s)%s\n"
msgstr ""
-#: main/help.c:374
+#: main/help.c:377
#, c-format
msgid "%s failed with unknown wait status code %d"
msgstr ""
-#: main/help.c:378
+#: main/help.c:381
msgid "dpkg - trying script from the new package instead ...\n"
msgstr ""
-#: main/help.c:385
+#: main/help.c:388
#, c-format
msgid "new %s script"
msgstr ""
-#: main/help.c:389
+#: main/help.c:392
msgid "there is no script in the new version of the package - giving up"
msgstr ""
-#: main/help.c:391
+#: main/help.c:394
#, c-format
msgid "unable to stat %s `%.250s'"
msgstr ""
-#: main/help.c:405
+#: main/help.c:408
msgid "dpkg: ... it looks like that went OK.\n"
msgstr ""
#. Huh ?
-#: main/help.c:500
+#: main/help.c:503
#, c-format
msgid "failed to rmdir/unlink `%.255s'"
msgstr ""
-#: dpkg-deb/info.c:52 main/help.c:504
+#: dpkg-deb/info.c:52 main/help.c:507
msgid "failed to exec rm for cleanup"
msgstr ""
msgid "failed to rewind tmpfile (data)"
msgstr ""
-#: dpkg-deb/build.c:461
-msgid "failed to exec cat (data)"
+#: dpkg-deb/build.c:459
+msgid "cat (data)"
msgstr ""
#: dpkg-deb/extract.c:48
msgstr ""
#: dpkg-deb/extract.c:248
-msgid "failed to fdopen p1 in copy"
-msgstr ""
-
-#: dpkg-deb/extract.c:250
-msgid "member data"
-msgstr ""
-
-#: dpkg-deb/extract.c:251
msgid "failed to write to pipe in copy"
msgstr ""
-#: dpkg-deb/extract.c:254
+#: dpkg-deb/extract.c:249
msgid "failed to close pipe in copy"
msgstr ""
-#: dpkg-deb/extract.c:267
+#: dpkg-deb/extract.c:262
msgid "failed to exec gzip -dc"
msgstr ""
-#: dpkg-deb/extract.c:275
+#: dpkg-deb/extract.c:270
msgid "failed to create directory"
msgstr ""
-#: dpkg-deb/extract.c:276
+#: dpkg-deb/extract.c:271
msgid "failed to chdir to directory after creating it"
msgstr ""
-#: dpkg-deb/extract.c:278
+#: dpkg-deb/extract.c:273
msgid "failed to chdir to directory"
msgstr ""
-#: dpkg-deb/extract.c:292
+#: dpkg-deb/extract.c:287
msgid "failed to exec tar"
msgstr ""
-#: dpkg-deb/extract.c:315 dpkg-deb/extract.c:330 dpkg-deb/info.c:66
+#: dpkg-deb/extract.c:310 dpkg-deb/extract.c:325 dpkg-deb/info.c:66
#, c-format
msgid "--%s needs a .deb filename argument"
msgstr ""
-#: dpkg-deb/extract.c:318
+#: dpkg-deb/extract.c:313
#, c-format
msgid ""
"--%s needs a target directory.\n"
"Perhaps you should be using dpkg --install ?"
msgstr ""
-#: dpkg-deb/extract.c:321
+#: dpkg-deb/extract.c:316
#, c-format
msgid "--%s takes at most two arguments (.deb and directory)"
msgstr ""
-#: dpkg-deb/extract.c:332
+#: dpkg-deb/extract.c:327
#, c-format
msgid "--%s takes only one argument (.deb filename)"
msgstr ""