Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F40366771
t-support.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
2 KB
Subscribers
None
t-support.h
View Options
/* t-support.h - Helper routines for regression tests.
* Copyright (C) 2000 Werner Koch (dd9jn)
* Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH
*
* This file is part of GPGME.
*
* GPGME is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* GPGME is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, see <https://gnu.org/licenses/>.
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
#include
<unistd.h>
#include
<errno.h>
#include
<stdlib.h>
#include
<locale.h>
#include
<gpgme.h>
#ifndef DIM
#define DIM(v) (sizeof(v)/sizeof((v)[0]))
#endif
#define fail_if_err(err) \
do \
{ \
if (err) \
{ \
fprintf (stderr, "%s:%d: %s: %s (%d.%d)\n", \
__FILE__, __LINE__, gpgme_strsource (err), \
gpgme_strerror (err), \
gpgme_err_source (err), gpgme_err_code (err)); \
exit (1); \
} \
} \
while (0)
void
print_data
(
gpgme_data_t
dh
)
{
#define BUF_SIZE 512
char
buf
[
BUF_SIZE
+
1
];
int
ret
;
ret
=
gpgme_data_seek
(
dh
,
0
,
SEEK_SET
);
if
(
ret
)
fail_if_err
(
gpgme_error_from_errno
(
errno
));
while
((
ret
=
gpgme_data_read
(
dh
,
buf
,
BUF_SIZE
))
>
0
)
fwrite
(
buf
,
ret
,
1
,
stdout
);
if
(
ret
<
0
)
fail_if_err
(
gpgme_error_from_errno
(
errno
));
}
gpgme_error_t
passphrase_cb
(
void
*
opaque
,
const
char
*
uid_hint
,
const
char
*
passphrase_info
,
int
last_was_bad
,
int
fd
)
{
int
res
;
char
pass
[]
=
"abc
\n
"
;
int
passlen
=
strlen
(
pass
);
int
off
=
0
;
(
void
)
opaque
;
(
void
)
uid_hint
;
(
void
)
passphrase_info
;
(
void
)
last_was_bad
;
do
{
res
=
gpgme_io_write
(
fd
,
&
pass
[
off
],
passlen
-
off
);
if
(
res
>
0
)
off
+=
res
;
}
while
(
res
>
0
&&
off
!=
passlen
);
return
off
==
passlen
?
0
:
gpgme_error_from_errno
(
errno
);
}
char
*
make_filename
(
const
char
*
fname
)
{
const
char
*
srcdir
=
getenv
(
"srcdir"
);
char
*
buf
;
if
(
!
srcdir
)
srcdir
=
"."
;
buf
=
malloc
(
strlen
(
srcdir
)
+
strlen
(
fname
)
+
2
);
if
(
!
buf
)
exit
(
8
);
strcpy
(
buf
,
srcdir
);
strcat
(
buf
,
"/"
);
strcat
(
buf
,
fname
);
return
buf
;
}
void
init_gpgme
(
gpgme_protocol_t
proto
)
{
gpgme_error_t
err
;
gpgme_check_version
(
NULL
);
#ifndef HAVE_W32_SYSTEM
setlocale
(
LC_ALL
,
""
);
gpgme_set_locale
(
NULL
,
LC_CTYPE
,
setlocale
(
LC_CTYPE
,
NULL
));
gpgme_set_locale
(
NULL
,
LC_MESSAGES
,
setlocale
(
LC_MESSAGES
,
NULL
));
#endif
err
=
gpgme_engine_check_version
(
proto
);
fail_if_err
(
err
);
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Tue, Apr 14, 9:25 PM (3 h, 52 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
a0/e0/30888af9546c0554ef98680c8463
Attached To
rM GPGME
Event Timeline
Log In to Comment