1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

New code for encode_crypt_files.

This commit is contained in:
Timo Schulz 2002-01-09 18:52:19 +00:00
parent d346578fb1
commit 0bd41cc2e5
4 changed files with 37 additions and 13 deletions

View file

@ -566,16 +566,35 @@ write_pubkey_enc_from_list( PK_LIST pk_list, DEK *dek, IOBUF out )
}
void
encode_crypt_files(int argc, char **argv, STRLIST remusr)
encode_crypt_files(int nfiles, char **files, STRLIST remusr)
{
int rc = 0;
while (argc--) {
print_file_status(STATUS_FILE_START, *argv, 2);
if ( (rc = encode_crypt(*argv, remusr)) )
log_error("%s: encryption failed: %s\n", print_fname_stdin(*argv),
g10_errstr(rc) );
write_status( STATUS_FILE_DONE );
argv++;
if (!nfiles) {
char line[2048];
unsigned int lno = 0;
while ( fgets(line, DIM(line), stdin) ) {
lno++;
if (!*line || line[strlen(line)-1] != '\n') {
log_error("input line %u too long or missing LF\n", lno);
return;
}
line[strlen(line)-1] = '\0';
print_file_status(STATUS_FILE_START, line, 2);
if ( (rc = encode_crypt(line, remusr)) )
log_error("%s: encryption failed: %s\n", print_fname_stdin(line),
g10_errstr(rc) );
write_status( STATUS_FILE_DONE );
}
}
else {
while (nfiles--) {
print_file_status(STATUS_FILE_START, *files, 2);
if ( (rc = encode_crypt(*files, remusr)) )
log_error("%s: encryption failed: %s\n", print_fname_stdin(*files),
g10_errstr(rc) );
write_status( STATUS_FILE_DONE );
files++;
}
}
}