1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-23 10:29:58 +01: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

@ -1,3 +1,9 @@
2001-01-09 Timo Schulz <ts@winpt.org>
* encode.c (encode_crypt_files): Now it behaves like verify_files.
* g10.c (main): We don't need to check argc for encode_crypt_files
any longer.
2001-01-09 Timo Schulz <ts@winpt.org>
* exec.c: Include windows.h for dosish systems.

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++;
}
}
}

View File

@ -816,7 +816,7 @@ main( int argc, char **argv )
opt.homedir = buf;
}
#endif
#undef USE_SHM_COPROCESSING
#ifdef USE_SHM_COPROCESSING
if( opt.shm_coprocess ) {
init_shm_coprocessing(requested_shm_size, 1 );
@ -1541,9 +1541,8 @@ main( int argc, char **argv )
break;
case aEncrFiles: /* encrypt the given files */
if (argc)
encode_crypt_files(argc, argv, remusr);
break;
break;
case aSign: /* sign the given file */
sl = NULL;

View File

@ -76,7 +76,7 @@ void display_online_help( const char *keyword );
int encode_symmetric( const char *filename );
int encode_store( const char *filename );
int encode_crypt( const char *filename, STRLIST remusr );
void encode_crypt_files(int argc, char **argv, STRLIST remusr);
void encode_crypt_files(int nfiles, char **files, STRLIST remusr);
int encrypt_filter( void *opaque, int control,
IOBUF a, byte *buf, size_t *ret_len);