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