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