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