diff options
-rw-r--r-- | URPM.pm | 2 | ||||
-rw-r--r-- | URPM.xs | 14 |
2 files changed, 16 insertions, 0 deletions
@@ -645,6 +645,8 @@ Sets rpm verbosity level. $level is an integer between 2 (RPMMESS_CRIT) and 7 =item rpmErrorString() +=item rpmErrorWriteTo($fd) + =back =head1 COPYRIGHT @@ -239,6 +239,13 @@ struct _FD_s { }; /*@access FD_t@*/ +static int rpmError_callback_data; +void rpmError_callback() { + if (rpmErrorCode() != RPMERR_UNLINK && rpmErrorCode() != RPMERR_RMDIR) { + write(rpmError_callback_data, rpmErrorString(), strlen(rpmErrorString())); + } +} + static inline void fdInitDigest(FD_t fd, pgpHashAlgo hashalgo, int flags) /*@modifies fd @*/ @@ -3643,4 +3650,11 @@ setVerbosity(level) const char * rpmErrorString() +void +rpmErrorWriteTo(fd) + int fd + CODE: + rpmError_callback_data = fd; + rpmErrorSetCallback(rpmError_callback); + /* vim:set ts=8 sts=2 sw=2: */ |