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