Fix last change.
[gnupg.git] / jnlib / ChangeLog
1 2008-11-20  Werner Koch  <wk@g10code.com>
2
3         * argparse.c (arg_parse): Fix last change.
4
5 2008-11-11  Werner Koch  <wk@g10code.com>
6
7         * argparse.h: Add a bunch of macros and constants.
8         * argparse.c: Use the new macros.  Re-indent the code.  Change
9         license back to LGPL 2.1.
10
11 2008-11-04  Werner Koch  <wk@g10code.com>
12
13         * w32-gettext.c: Merged with code from libgpg-error and rewrote
14         most parts.
15
16         * Makefile.am (AM_CFLAGS): Add -DJNLIB_IN_JNLIB.
17
18 2008-10-29  Werner Koch  <wk@g10code.com>
19
20         * stringhelp.c (make_filename): Implement using macros. Factor some
21         code out to ..
22         (change_slashes): New.
23         (make_filename_try): New.
24
25         * w32-gettext.c (gettext): Return if no domain is loaded.
26         Reported by Tom Pegios.
27
28 2008-10-28  Werner Koch  <wk@g10code.com>
29
30         * w32-gettext.c (gettext): Try the binary search if the string was
31         not found in the hash table.
32
33 2008-10-20  Werner Koch  <wk@g10code.com>
34
35         * w32-afunix.c (_w32_sock_connect): Mark ADDRLEN as unused.
36
37         * dotlock.c (release_dotlock): Do not mix declaration and code.
38
39         * stringhelp.c (make_basename): Silent gcc warning about unused arg.
40         * argparse.c (store_alias): Ditto.
41         (find_long_option): 
42
43 2008-10-15  Werner Koch  <wk@g10code.com>
44
45         * logging.c (do_logv) [W32]: Flush the log stream.
46
47 2008-09-29  Werner Koch  <wk@g10code.com>
48
49         * argparse.c (ARGERR_): Use constants for error values.
50         (optfile_parse): Prettify.  Replace xmalloc and xrealloc by malloc
51         and realloc.
52         * libjnlib-config.h (jnlib_strdup, jnlib_realloc): New.
53
54 2008-06-26  Werner Koch  <wk@g10code.com>
55
56         * stringhelp.c (print_sanitized_buffer2): Loose check for control
57         characters to better cope with utf-8.  The range 0x80..0x9f is
58         nowadays not anymore accidently used for control charaters.
59
60 2008-06-13  Werner Koch  <wk@g10code.com>
61
62         * dotlock.c: Reformat code and implement locking for W32.
63         (create_dotlock): Use snprintf.
64
65 2008-06-11  Werner Koch  <wk@g10code.com>
66
67         * utf8conv.c: Remove useless variable ACTIVE_CHARSET.  Suggested
68         by Petr Uzel.
69
70 2008-05-26  Werner Koch  <wk@g10code.com>
71
72         * argparse.c (usage): Make sure to print a trailing LF for usage(1).
73
74 2008-04-08  Werner Koch  <wk@g10code.com>
75
76         * w32-gettext.c (gettext_select_utf8): New.
77         (get_string): Support switching encodings.
78         (load_domain): Allocate space for DATA_NATIVE.
79
80 2008-03-25  Werner Koch  <wk@g10code.com>
81
82         * w32-gettext.c (_nl_locale_name): New.  Taken from
83         ../common/localename and GNU gettext's localename.c.
84         (set_gettext_file): Rewritten.
85         (gettext_localename): New.
86
87 2008-03-17  Werner Koch  <wk@g10code.com>
88
89         * logging.c (my_funopen_hook_size_t): New.
90         (fun_writer): Use it to cope with fopencookie/funopen differences.
91         * dotlock.c (read_lockfile): Initialize PID.  Reported by St├ęphane
92         Corth├ęsy.
93
94 2008-02-22  Werner Koch  <wk@g10code.com>
95
96         * argparse.c (strusage): Set copyright year to 2008.
97
98 2007-11-19  Werner Koch  <wk@g10code.com>
99
100         * stringhelp.c (percent_escape): Factor code out to
101         (do_percent_escape): .. new.
102         (try_percent_escape): New.
103
104 2007-10-01  Werner Koch  <wk@g10code.com>
105
106         * w32-afunix.c: Only keep the client related code.
107         (read_port_and_nonce): New.  Taken from Assuan.
108         (_w32_sock_connect): Rewritten.
109
110 2007-08-29  Werner Koch  <wk@g10code.com>
111
112         * argparse.c (initialize): Make strings translatable and remove
113         extra LF.
114
115 2007-08-24  Werner Koch  <wk@g10code.com>
116
117         * mischelp.c (same_file_p): New.
118         (libjnlib_dummy_mischelp_func): Remove as we now always have one
119         function.
120
121 2007-08-09  Werner Koch  <wk@g10code.com>
122
123         * argparse.c (show_help): Expand the @EMAIL@ macro in the package
124         bug reporting address.
125
126 2007-08-02  Werner Koch  <wk@g10code.com>
127
128         * t-stringhelp.c (test_compare_filenames): New.
129
130         * stringhelp.c (compare_filenames) [HAVE_DRIVE_LETTERS]: Fixed
131         comparison to take slash and backslash in account.
132         (make_filename): Avoid mixing / and \.
133
134 2007-07-04  Werner Koch  <wk@g10code.com>
135
136         * utf8conv.c (load_libiconv): Remove URL from translatble string.
137
138         Switched JNLIB from LGPLv2.1 to LGPLv3.
139
140 2007-07-01  Werner Koch  <wk@g10code.com>
141
142         * argparse.c (strusage): Use id 10 for the license string;
143         default to GPL3+.  Change long note to version 3 or later.
144         (show_version): Print the license info.
145
146 2007-06-19  Werner Koch  <wk@g10code.com>
147
148         * Makefile.am: Add support for regression tests.
149         * t-support.h, t-support.c: New.
150         * t-stringhelp.c: New.
151
152         * stringhelp.c (percent_escape): Add arg EXTRA to make it a more
153         general function.  Changed all callers.
154
155 2007-06-18  Werner Koch  <wk@g10code.com>
156
157         * w32-afunix.c (_w32_sock_bind): Changed to properly detect an
158         already used socket.
159
160 2007-06-18  Marcus Brinkmann  <marcus@g10code.de>
161
162         * stringhelp.h (percent_escape): New prototype.
163         * stringhelp.c (percent_escape): New function.
164
165 2007-06-11  Werner Koch  <wk@g10code.com>
166
167         * utf8conv.c (jnlib_iconv_open, jnlib_iconv, jnlib_iconv_close): New.
168
169 2007-06-06  Werner Koch  <wk@g10code.com>
170
171         * w32help.h: New.
172         * w32-gettext.c: New.  Taken from gnupg 1.4, added ngettext,
173         changed to use jnlib malloc functions and put under the LGPL.
174         * w32-reg.c: New.  Taken from../common/w32reg.c and changed to
175         LGPL.  Changed API to use the jnlib malloc functions.
176         * Makefile.am (libjnlib_a_SOURCES) [!W32]: Do not build the w32
177         specific modules.
178
179         * dotlock.c: Include stringhelp.h for stpcpy prototype.
180
181 2007-06-04  Werner Koch  <wk@g10code.com>
182
183         * dynload.h: New.  Taken from ../common and changed to LGPL.
184
185         * utf8conv.c (load_libiconv): New.  Taken from GnuPG 1.4
186
187 2007-05-30  Werner Koch  <wk@g10code.com>
188
189         * w32-pth.h, w32-pth.c: Remove.
190
191 2007-04-25  Werner Koch  <wk@g10code.com>
192
193         * argparse.c (long_opt_strlen): Fixed for utf-8.
194
195 2007-03-07  Werner Koch  <wk@g10code.com>
196
197         * argparse.c (strusage): Set copyright year to 2007.
198
199 2007-01-25  Werner Koch  <wk@g10code.com>
200
201         * stringhelp.c (utf8_charcount): New.
202
203 2006-11-29  Werner Koch  <wk@g10code.com>
204
205         * utf8conv.c (set_native_charset) [HAVE_W32_SYSTEM]: Fixed typo in
206         macro name.
207
208 2006-11-15  Werner Koch  <wk@g10code.com>
209
210         * logging.c (my_funopen_hook_ret_t): New.
211         (fun_writer): Use it.
212
213 2006-10-19  Werner Koch  <wk@g10code.com>
214
215         * stringhelp.c (memrchr) [!HAVE_MEMRCHR]: Provide a replacement.
216
217 2006-09-27  Werner Koch  <wk@g10code.com>
218
219         * mischelp.c: New.
220         (timegm): Copied from gnupg 1.4, changed from GPL to LGPL.  Fixed
221         a memory leak.
222
223         * stringhelp.h (isascii): New.
224
225         * stringhelp.c (strsep): New. Copied from gnupg 1.4.5
226         util/strgutil.c.
227
228         * strlist.h (STRLIST): Removed deprecated typedef. 
229
230         * types.h: Made cpp commands work with old compilers.  Also shows
231         up nicer with Emacs' font locking.
232
233         * w32-afunix.c (_w32_sock_connect): Set ERRNO for an invalid port.
234
235         Changed license from GPL to LGPL.  Note that all code has either
236         been written by me, David, employees of g10 Code or taken from
237         glibc.
238         
239         * libjnlib-config.h, stringhelp.c, stringhelp.h:
240         * strlist.c, strlist.h, utf8conv.c, utf8conv.h:
241         * argparse.c, argparse.h, logging.c, logging.h:
242         * dotlock.c, dotlock.h, types.h, mischelp.h:
243         * xmalloc.c, xmalloc.h, w32-pth.c, w32-pth.h:
244         * w32-afunix.c, w32-afunix.h: Tagged them to be long to jnlib
245         which is a part of GnuPG but also used by other projetcs. 
246
247 2006-09-22  Werner Koch  <wk@g10code.com>
248
249         * utf8conv.c: Reworked to match the gnupg 1.4.5 code.  This now
250         requires iconv support but this is reasonable for all modern
251         systems.
252
253 2006-08-29  Werner Koch  <wk@g10code.com>
254
255         * logging.c (do_logv): Emit a missing LF for fatal errors.
256
257 2006-06-28  Werner Koch  <wk@g10code.com>
258
259         * dotlock.c (make_dotlock, release_dotlock, read_lockfile)
260         (maybe_deadlock, destroy_dotlock, create_dotlock): Re-indented.
261         (create_dotlock): Repalces some log_fatal by log_error as it was
262         not intended that they should terminate.  Write the nodename to
263         the locking file. Code cleanups.
264         (read_lockfile): Reworked to read the node name.
265         (make_dotlock): Test for identical node name and delete lock stale
266         file.
267         (release_dotlock): Likewise.
268
269 2006-05-23  Werner Koch  <wk@g10code.com>
270
271         * libjnlib-config.h (JNLIB_NEED_UTF8CONV): Fixed typo in name.
272
273         * dotlock.c (release_dotlock): Don't act if we don't have any
274         locks at all.
275         (destroy_dotlock): New.  From 1.4.3.
276         (dotlock_remove_lockfiles): Make use of destroy function.
277
278 2006-05-19  Werner Koch  <wk@g10code.com>
279
280         * strlist.c (append_to_strlist2): Enabled.
281
282         * stringhelp.c (print_sanitized_buffer2): New.  Changed the rules
283         to match the behaviour of print_string2 from gnupg 1.4.3.
284         (print_sanitized_buffer): Use the new function.
285         (print_sanitized_string2): New.
286         (hextobyte): New.  Taken from gpg 1.4.3.
287
288 2006-04-28  Werner Koch  <wk@g10code.com>
289
290         * stringhelp.c (print_sanitized_buffer): Fix bug where the count
291         got wrong for the \xNN representation.
292         (sanitize_buffer): Fix bug where some control characters lose part
293         of their \xNN representation.
294
295 2006-04-20  Werner Koch  <wk@g10code.com>
296
297         * stringhelp.c (make_basename): New arg INPUTPATH for future
298         riscos compatibility.
299
300 2006-04-18  Werner Koch  <wk@g10code.com>
301
302         * libjnlib-config.h (JNLIB_NEED_UTF8CONF): Defined.
303         * strlist.c (add_to_strlist2) [JNLIB_NEED_UTF8CONV]: Enabled.
304
305 2005-06-15  Werner Koch  <wk@g10code.com>
306
307         * stringhelp.c (sanitize_buffer): Make P a void*.
308         (ascii_memistr, memistr): Ditto.
309         (ascii_memcasecmp): Ditto.
310         * logging.c (writen): Use void * for arg BUFFER.
311         * stringhelp.c (memistr): Fixed unsigned/signed pointer conflict.
312         (ascii_memistr): Ditto.
313         (ascii_memcasemem): Ditto.
314         * utf8conv.c (utf8_to_native): Ditto.
315         (utf8_to_native): Ditto.
316         * argparse.c (show_version): Removed non-required cast.
317
318 2005-01-19  Werner Koch  <wk@g10code.com>
319
320         * logging.c (fun_writer): Don't fallback to stderr. Print to
321         stderr only if connected to a tty.
322
323 2004-12-20  Werner Koch  <wk@g10code.com>
324
325         * w32-pth.c (do_pth_event_free): The events are hold in a ring
326         buffer.  Adjust for that.
327         (do_pth_event_body): Ditto.
328         (pth_event_isolate): Ditto.
329         (do_pth_wait): Ditto.
330         (_pth_event_count): Renamed to ..
331         (event_count): .. and adjusted as above.
332         (pth_init): Define 3 debug levels and change all debug calls to
333         make use of them.  This makes the moule now silent.
334
335 2004-12-19  Werner Koch  <wk@g10code.com>
336
337         * w32-pth.c (pth_init): Enable debugging depending on env var.
338         (pth_self): New.
339         (pth_mutex_release, pth_mutex_acquire): Implemented directly using
340         the W32 API.
341
342 2004-12-18  Werner Koch  <wk@g10code.com>
343
344         * w32-pth.c (pth_init): Reverse return values.  Use TRUE and FALSE
345         constants.
346         (pth_kill, pth_mutex_acquire, pth_attr_set, pth_join, pth_cancel):
347         Ditto.
348
349 2004-12-15  Werner Koch  <wk@g10code.com>
350
351         * logging.c [W32]: Don't include unavailable headers.
352
353 2004-12-14  Werner Koch  <wk@g10code.com>
354
355         * w32-pth.c (_pth_strerror): Renamed to ...
356         (w32_strerror): .. this. And let callers provide a buffer.
357         (spawn_helper_thread): Removed HD arg and hardwire the stack size
358         to 32k.
359         (do_pth_wait): Removed use of ATTR; not needed for the helper
360         threads.
361         (helper_thread): Renamed to ..
362         (launch_thread): .. this.  Release handle if not joinable.
363         (struct pth_priv_hd_s): Renamed to ...
364         (struct thread_info_s): .. this.  Add member JOINABLE and TH.
365
366 2004-12-14  Timo Schulz  <twoaday@g10code.com>
367
368         * w32-pth.c (pth_kill): Just release the crit section if
369         pth_init was really called. And set all handles to NULL.
370         (_pth_strerror): New.
371         (do_pth_wait): Before we enter the loop we check if there
372         are too much events in the ring.
373         
374 2004-12-14  Werner Koch  <wk@g10code.com>
375
376         * w32-pth.h (pth_event_occured): Removed macro. 
377         * w32-pth.c: Fixed license statement; its under the LGPL.
378         (enter_pth, leave_pth): Use them to bracket almost all public
379         functions.
380
381 2004-12-13  Timo Schulz  <twoaday@g10code.com>
382
383         * w32-pth.c (enter_pth, leave_pth): New.
384         (pth_init): Initialize global mutex section.
385         (pth_kill): Release global mutex section.
386         (helper_thread): New.
387         (pth_spawn): Make sure only one thread is running.
388         
389 2004-12-13  Werner Koch  <wk@g10code.com>
390
391         * stringhelp.c (w32_strerror) [W32]: New.
392
393         * w32-pth.c, w32-pth.h: Added real code written by Timo Schulz.
394         Not finished, though.
395
396 2004-12-07  Werner Koch  <wk@g10code.com>
397
398         * w32-pth.c, w32-pth.h: New.
399
400 2004-11-26  Werner Koch  <wk@g10code.com>
401
402         * logging.c [_WIN32]: Don't include socket headers.
403
404 2004-11-30  Timo Schulz  <ts@g10code.com>
405
406         * w32-afunix.c: New. AF_UNIX emulation for W32.
407         * w32-afunix.h: Likewise.
408         
409 2004-11-22  Werner Koch  <wk@g10code.com>
410
411         * logging.c (log_test_fd): Add test on LOGSTREAM.  Reported by
412         Barry Schwartz.
413
414 2004-11-18  Werner Koch  <wk@g10code.com>
415
416         * logging.c: Explicitly include sys/stat.h for the S_I* constants.
417
418 2004-10-21  Werner Koch  <wk@g10code.com>
419
420         * logging.c (do_logv): Use set_log_stream to setup a default.
421         (log_set_file): Factored code out to ..
422         (set_file_fd): .. New function to allow using a file descriptor.
423         (log_set_fd): Make use of new fucntion.
424         (fun_writer): Reworked.
425
426 2004-08-18  Werner Koch  <wk@g10code.de>
427
428         * stringhelp.c (print_sanitized_utf8_string): Actually implement
429         it.
430
431 2004-06-21  Werner Koch  <wk@g10code.com>
432
433         * logging.c (log_set_file): Do not close an old logstream if it
434         used to be stderr or stdout.
435
436 2004-05-05  Werner Koch  <wk@gnupg.org>
437
438         * logging.c (log_set_file): Oops, don't close if LOGSTREAM is NULL.
439
440 2004-04-30  Werner Koch  <wk@gnupg.org>
441
442         * logging.c (log_set_file): Make sure the log stream will be
443         closed even if the stderr fileno will be assigned to a new socket.
444
445 2004-04-16  Werner Koch  <wk@gnupg.org>
446
447         * logging.h (JNLIB_LOG_WITH_PREFIX): Add constants for the flag
448         values.
449         * logging.c (log_set_prefix): New flag DETACHED.
450         (fun_writer): Take care of this flag.
451         (log_test_fd): New.
452
453 2004-02-18  Werner Koch  <wk@gnupg.org>
454
455         * stringhelp.c (print_sanitized_buffer): Don't care about
456         non-ASCII characaters.
457         (sanitize_buffer): Ditto.
458
459 2004-02-12  Werner Koch  <wk@gnupg.org>
460
461         * Makefile.am: Replaced INCLUDES by AM_CPPFLAGS.
462
463 2004-01-05  Werner Koch  <wk@gnupg.org>
464
465         * argparse.c (strusage): Changed default copyright year to 2004.
466
467 2003-12-17  Werner Koch  <wk@gnupg.org>
468
469         * argparse.c (initialize): Replaced use of non-literal format
470         args.  Suggested by Florian Weimer.
471
472 2003-12-16  Werner Koch  <wk@gnupg.org>
473
474         * logging.c (writen, fun_writer, fun_closer): New.
475         (log_set_file): Add feature to log to a socket.
476         (log_set_file, do_logv): Force printing with prefix and pid.
477
478 2003-11-13  Werner Koch  <wk@gnupg.org>
479
480         * strlist.c (strlist_copy): New.
481
482         * dotlock.c: Define DIRSEP_C et al. if not defined.
483
484 2003-11-06  Werner Koch  <wk@gnupg.org>
485
486         * strlist.h (strlist_t): New. STRLIST is now deprecated.
487
488 2003-06-18  Werner Koch  <wk@gnupg.org>
489
490         * strlist.c (strlist_pop): New.
491
492         * dotlock.c (dotlock_remove_lockfiles): Prefixed with dotlock_ and
493         made global.
494
495 2003-06-17  Werner Koch  <wk@gnupg.org>
496
497         * stringhelp.c (length_sans_trailing_chars)
498         (length_sans_trailing_ws): New.
499
500         * logging.c (log_inc_errorcount): New.
501
502         * stringhelp.c (print_sanitized_utf8_buffer): Implement utf8
503         conversion.
504         (sanitize_buffer): New. Based on gnupg 1.3.2 make_printable_string.
505
506         * dotlock.c: Updated to match the version from 1.3.2
507         * utf8conv.c: New.  Code taken from strgutil.c of gnupg 1.3.2.
508         * utf8conv.h: New.
509
510 2003-06-16  Werner Koch  <wk@gnupg.org>
511
512         * logging.c (do_logv): Hack to optionally suppress a leading space.
513
514         * stringhelp.c (ascii_strncasecmp): New.  Taken from gnupg 1.3.
515         (ascii_memistr): New. Taken from gnupg 1.3
516
517 2003-06-13  Werner Koch  <wk@gnupg.org>
518
519         * mischelp.h (wipememory2,wipememory): New. Taken from GnuPG 1.3.2. 
520
521 2002-06-04  Werner Koch  <wk@gnupg.org>
522
523         * stringhelp.c (print_sanitized_utf8_string): New.  No real
524         implementation for now.
525         (print_sanitized_utf8_buffer): Ditto.
526
527 2002-04-04  Werner Koch  <wk@gnupg.org>
528
529         * logging.c (log_get_prefix): New.
530
531 2002-03-15  Werner Koch  <wk@gnupg.org>
532
533         * argparse.c (optfile_parse): Fixed missing argument handling.
534
535 2002-02-25  Werner Koch  <wk@gnupg.org>
536
537         * stringhelp.c (ascii_memcasemem): New.
538
539 2002-02-14  Werner Koch  <wk@gnupg.org>
540
541         * Makefile.am (INCLUDES): Add cflags for libgcrypt.
542
543 2002-02-07  Werner Koch  <wk@gnupg.org>
544
545         * logging.c (log_set_fd): New.
546
547         * stringhelp.c (print_sanitized_buffer): New.
548         (print_sanitized_string): New.
549
550 2002-01-24  Werner Koch  <wk@gnupg.org>
551
552         * argparse.c (strusage): Set default copyright notice year to 2002.
553
554         Fixed the copyright notice of this file, as it has always been
555         part of GnuPG and therefore belongs to the FSF.
556
557 2001-11-01  Marcus Brinkmann  <marcus@g10code.de>
558
559         * logging.c (log_printf): Do not initialize ARG_PTR with 0, we
560         don't know the correct type.  Instead, run va_start and va_end
561         unconditionally.
562         Reported by Jose Carlos Garcia Sogo <jsogo@debian.org>.
563
564 2002-01-19  Werner Koch  <wk@gnupg.org>
565
566         * logging.c (log_get_stream): New.
567
568 2001-12-05  Werner Koch  <wk@gnupg.org>
569
570         * logging.c (log_set_prefix): New.
571         (do_logv): Include prefix and pid only if enabled. Print time only
572         when explicitly enabled.
573         (log_logv): New.  
574         * logging.h: Include log_logv() only when requested.
575
576 2001-11-06  Werner Koch  <wk@gnupg.org>
577
578         * strlist.c, strlist.h: New. Taken from pgnupg/util/strgutil.c
579
580 2001-08-30  Werner Koch  <wk@gnupg.org>
581
582         * logging.c (log_printf): Don't pass NULL instead of arg_ptr.
583
584 2001-07-19  Werner Koch  <wk@gnupg.org>
585
586         * stringhelp.c (ascii_memistr,ascii_isupper,ascii_islower,
587         ascii_toupper,ascii_tolower, ascii_strcasecmp, ascii_memcasecmp): New.
588
589 2000-07-26 10:02:51  Werner Koch  (wk@habibti.openit.de)
590
591         * stringhelp.c.: Add stdarg.h
592         * argparse.h: s/ulong/unsigned long/ although this should be defined
593         by types.h.
594
595 2000-06-28 19:40:23  Werner Koch  (wk@habibti.openit.de)
596
597         * Makefile.am: Replaced second logging.c by .h
598
599 2000-05-24 08:58:15  Werner Koch  (wk@habibti.openit.de)
600
601         * logging.c (log_get_errorcount): New.
602
603 2000-05-24 08:44:47  Werner Koch  (wk@habibti.openit.de)
604
605         * stringhelp.c: Added a few filename related helper functions.
606
607 2000-05-11 18:04:43  Werner Koch  (wk@habibti.openit.de)
608
609         * xmalloc.c (xstrcat2): Replaced stpcpy to quickly address W32
610         problems.
611
612 2000-05-02 19:43:38  Werner Koch  (wk@habibti.openit.de)
613
614         * xmalloc.c (xstrcat2): New.
615
616 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
617
618         * README: New.
619         * Makefile.am: new.
620         * argparse.c, argparse.h, logging.c, logging.h:
621         * mischelp.h, stringhelp.c, stringhelp.h, xmalloc.c:
622         * xmalloc.h, dotlock.c: Moved from ../util to here.
623         * dotlock.h: New.
624         * libjnlib-config.h: New.
625
626         * logging.c (log_set_file): New.
627         (log_printf): New.
628         (do_logv): Add kludge to insert LFs.
629
630
631      ***********************************************************
632      * Please note that JNLIB is maintained as part of GnuPG.  *
633      * You may find it source-copied in other packages.        *
634      ***********************************************************        
635         
636  Copyright 2000, 2001, 2002, 2003, 2004,
637            2005, 2006, 2007, 2008 Free Software Foundation, Inc.
638
639  This file is free software; as a special exception the author gives
640  unlimited permission to copy and/or distribute it, with or without
641  modifications, as long as this notice is preserved.
642
643  This file is distributed in the hope that it will be useful, but
644  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
645  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.