aboutsummaryrefslogtreecommitdiffstats
path: root/jnlib/logging.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2002-04-24 01:55:58 +0000
committerMarcus Brinkmann <[email protected]>2002-04-24 01:55:58 +0000
commita559c32a55e3077ee42f82d8794e6383adbb1e41 (patch)
tree0ca7955cbbf3bbf5e60e9b588b93499ab163f0b9 /jnlib/logging.c
parent* key.c (gpgme_key_get_ulong_attr): Swapped use of can_encrypt and (diff)
downloadgpgme-a559c32a55e3077ee42f82d8794e6383adbb1e41.tar.gz
gpgme-a559c32a55e3077ee42f82d8794e6383adbb1e41.zip
Update assuan and jnlib to 20020424 from newpg.
Diffstat (limited to 'jnlib/logging.c')
-rw-r--r--jnlib/logging.c46
1 files changed, 44 insertions, 2 deletions
diff --git a/jnlib/logging.c b/jnlib/logging.c
index 2e0d53ae..647e757c 100644
--- a/jnlib/logging.c
+++ b/jnlib/logging.c
@@ -89,12 +89,37 @@ log_set_file( const char *name )
}
setvbuf( fp, NULL, _IOLBF, 0 );
- if( logstream && logstream != stderr )
- fclose( logstream );
+ if (logstream && logstream != stderr && logstream != stdout)
+ fclose( logstream );
logstream = fp;
missing_lf = 0;
}
+void
+log_set_fd (int fd)
+{
+ FILE *fp;
+
+ if (fd == 1)
+ fp = stdout;
+ else if (fd == 2)
+ fp = stderr;
+ else
+ fp = fdopen (fd, "a");
+ if (!fp)
+ {
+ fprintf (stderr, "failed to fdopen log fd %d: %s\n",
+ fd, strerror(errno));
+ return;
+ }
+ setvbuf (fp, NULL, _IOLBF, 0);
+
+ if (logstream && logstream != stderr && logstream != stdout)
+ fclose( logstream);
+ logstream = fp;
+ missing_lf = 0;
+}
+
void
log_set_prefix (const char *text, unsigned int flags)
@@ -110,6 +135,23 @@ log_set_prefix (const char *text, unsigned int flags)
with_pid = (flags & 4);
}
+
+const char *
+log_get_prefix (unsigned int *flags)
+{
+ if (flags)
+ {
+ *flags = 0;
+ if (with_prefix)
+ *flags |= 1;
+ if (with_time)
+ *flags |= 2;
+ if (with_pid)
+ *flags |=4;
+ }
+ return prefix_buffer;
+}
+
int
log_get_fd()
{