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:
parent
d346578fb1
commit
0bd41cc2e5
4 changed files with 37 additions and 13 deletions
37
g10/encode.c
37
g10/encode.c
|
@ -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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue