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