summary refs log tree commit diff
path: root/manual
Commit message (Collapse)AuthorAgeFilesLines
* [BZ #162]Ulrich Drepper2005-09-261-5/+7
| | | | | | | 2005-09-26 Ulrich Drepper <drepper@redhat.com> [BZ #162] * manual/llio.texi (Waiting for I/O): Correct description of read conditions reported by select.
* [BZ #278]Ulrich Drepper2005-09-251-5/+2
| | | | | | | | * manual/stdio.texi (Hook Functions): Correct type of position parameter of seeker and fix fallout of the change in the text. * wcsmbs/tst-mbrtowc2.c: New file. * wcsmbs/Makefile (tests): Add tst-mbrtowc2.
* * locale/programs/ld-address.c (address_finish): Produce betterUlrich Drepper2005-09-241-0/+3
| | | | error messages for invalid lang_ab use.
* [BZ #1261]Roland McGrath2005-09-131-2/+2
| | | | | | | 2005-08-29 Thomas Schwinge <schwinge@nic-nac-project.de> [BZ #1261] * manual/memory.texi (Hooks for Malloc): Correct prototype of my_init_hook and definition of my_free_hook.
* * posix/regex_internal.h (re_sub_match_top_t): Remove unused memberUlrich Drepper2005-09-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | next_last_offset. (struct re_dfa_t): Remove unused member states_alloc. * posix/regcomp.c (init_dfa): Don't initialize unused members. 2005-08-25 Paul Eggert <eggert@cs.ucla.edu> * posix/regexec.c (set_regs): Don't alloca with an unbounded size. alloca modernization/simplification for regex. * posix/regex.c: Remove portability cruft for alloca. This no longer needs to be at the start of the file, and can be moved into regex_internal.h and simplified. * posix/regex_internal.h: Include <alloca.h>. (__libc_use_alloca) [!defined _LIBC]: New macro. * posix/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code now works outside glibc. 2005-09-06 Ulrich Drepper <drepper@redhat.com> * include/regex.h: Remove use of _RE_ARGS. 2005-08-25 Paul Eggert <eggert@cs.ucla.edu> * posix/regexec.c (find_recover_state): Change "err" to "*err". 2005-08-24 Paul Eggert <eggert@cs.ucla.edu> * posix/regcomp.c (regerror): Pointer args are 'restrict', as per POSIX. * posix/regex.h (regerror): Likewise. * manual/pattern.texi (POSIX Regexp Compilation): Likewise. Similarly for regcomp and regexec. Also, first 2 args of regexec and 2nd arg of regerror are const. * posix/regex.c: Do not include <sys/types.h>, as POSIX no longer requires this. (The code never needed it.) 2005-08-20 Paul Eggert <eggert@cs.ucla.edu> * posix/regexec.c (sift_states_bkref): re_node_set_insert returns int, not reg_errcode_t. * posix/regex_internal.c (calc_state_hash): Put 'inline' before type, since some broken compilers warn about it otherwise. * posix/regcomp.c (create_initial_state): Remove duplicate decl. 2005-08-20 Paul Eggert <eggert@cs.ucla.edu> * posix/regex.h (_RE_ARGS): Remove. No longer needed, since we assume C89 or better. All uses removed. 2005-09-06 Ulrich Drepper <drepper@redhat.com> * posix/regex.c: Prevent using C++ compilers. 2005-08-19 Paul Eggert <eggert@cs.ucla.edu> * posix/regcomp.c (duplicate_node): Return new index, not an error code, and let the caller return REG_ESPACE if out of space. This removes an uninitialied-variable warning with GCC 4.0.1, and also avoids taking the address of a local variable. All callers changed. 2005-09-06 Ulrich Drepper <drepper@redhat.com> * include/time.h (__strptime_internal): Rename parameter to avoid bogus compiler warning. 2005-08-19 Jim Meyering <jim@meyering.net> * posix/regexec.c (proceed_next_node): Redo local variables to avoid GCC shadowing warnings. 2005-09-06 Ulrich Drepper <drepper@redhat.com> * posix/regex_internal.c (re_acquire_state): Minor code rearrangement. (re_acquire_state_context): Likewise. 2005-08-19 Paul Eggert <eggert@cs.ucla.edu> * posix/regex_internal.c (re_string_realloc_buffers): (re_node_set_insert, re_node_set_insert_last, re_dfa_add_node): Rename local variables to avoid GCC shadowing warnings. 2005-07-08 Eric Blake <ebb9@byu.net> Paul Eggert <eggert@cs.ucla.edu> * posix/regcomp.c (init_dfa): Store __btowc value in wint_t, not wchar_t. Remove now-unnecessary cast. (build_range_exp): Likewise.
* * sysdeps/i386/bits/string.h: Removed.Ulrich Drepper2005-09-041-2/+2
|
* 2005-07-13 Thorsten Kukuk <kukuk@suse.de>Roland McGrath2005-07-181-1/+1
| | | | * manual/Makefile (libc/index.html): Add dir-add.texi.
* * manual/install.texi (Installation): Don't mention linuxthreads.Roland McGrath2005-07-031-10/+2
| | | | | | | | | | | | | (Configuring and compiling): Don't use linuxthreads as example. * sysdeps/unix/sysv/linux/configure.in: Check for nptl add-on only, not linuxthreads. * sysdeps/unix/sysv/linux/configure: Regenerated. * resolv/Depend: Add nptl. * rt/Depend: Likewise. * linuxthreads, linuxthreads_db: Directories removed (preserved in ports repository).
* * manual/string.texi: Fix typo in wmemcpy decl.Roland McGrath2005-04-111-1/+1
|
* * manual/install.texi (Tools for Compilation): GNU binutils 2.15Roland McGrath2005-03-291-1/+1
| | | | is now needed.
* New upstream version.Ulrich Drepper2005-02-161-2668/+2981
|
* 2005-02-14 Andreas Schwab <schwab@suse.de>Roland McGrath2005-02-141-3/+3
| | | | | | * manual/filesys.texi (Random Access Directory): Fix type of file position value for telldir and seekdir. (Attribute Meanings): Fix typo.
* 2004-11-18 Alexandre Oliva <aoliva@redhat.com>Roland McGrath2005-02-071-1/+1
| | | | * manual/.cvsignore: Add dir-add.texi.
* (Writing a User Entry): Document behavior of putpwent if user name starts ↵Ulrich Drepper2005-01-271-0/+3
| | | | with + or -.
* * manual/memory.texi (sbrk): Fix definition.Roland McGrath2005-01-262-3/+3
| | | | | | | | * manual/string.texi (strcasestr): Fix example typo. 2005-01-25 Roland McGrath <roland@redhat.com> * sysdeps/generic/syslog.c [NO_SIGPIPE]: Protect sigpipe_handler decl.
* (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper2004-12-2217-3180/+2854
|
* 2.5-18.1Jakub Jelinek2007-07-1217-2854/+3180
|
* * manual/errno.texi (Error Codes): Revert last change for now.Roland McGrath2004-11-051-24/+0
|
* * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED, cvs/fedora-glibc-20041020T1016Roland McGrath2004-10-201-0/+24
| | | | | | | | | | | | | EKEYREVOKED, EKEYREJECTED. * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist. * sysdeps/gnu/errlist.c: Regenerated * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count higher than ERR_MAX reports. Instead, emit a #define ERR_MAX. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target. (generated): Add errlist-compat.h. * sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to define ERR_MAX and use that for table size.
* * manual/memory.texi (Page Lock Functions): Typo fix.Roland McGrath2004-10-181-1/+1
| | | | Reported by Carlos Maziero <maziero@ppgia.pucpr.br>
* (System V Number Conversion): Fix return type of ecvt_r, fcvt_r, qecvt_r, ↵Ulrich Drepper2004-10-061-10/+14
| | | | and qfcvt_r.
* 2004-08-09 Roland McGrath <roland@frob.com>Roland McGrath2004-08-101-1/+3
| | | | | | | | | | * manual/install.texi (Supported Configurations): Replace bug-glibc mention with web URL. * INSTALL: Regenerated. * locale/iso-3166.def: Likewise, in comment. * locale/iso-4217.def: Likewise. * locale/iso-639.def: Likewise. * posix/cpio.h: Remove bug reporting comment.
* [BZ #266]Ulrich Drepper2004-07-141-12/+11
| | | | | | | | | | | Update. 2004-07-14 Jakub Jelinek <jakub@redhat.com> [BZ #266] * manual/string.texi (l64a): Note that the static buffer is 7 bytes long. Rewrite example code so that it takes account l64a output shorter than 6 characters. Reported by Julian Graham <julian.graham@aya.yale.edu>.
* 2004-07-12 Roland McGrath <roland@redhat.com>Roland McGrath2004-07-121-3/+6
| | | | | | * manual/signal.texi (Interrupted Primitives): Make clear that TEMP_FAILURE_RETRY evaluates its expression as long int and compares it to -1 to define "failure".
* Update.Ulrich Drepper2004-05-241-3/+3
| | | | | | | | 2004-05-24 Ulrich Drepper <drepper@redhat.com> * manual/string.texi (Copying and Concatenation): Fixed second concat example. Reported by Fabian Pietsch <fabian@zzznowman.dyndns.org>.
* [BZ #40]Ulrich Drepper2004-05-172-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update. 2004-05-15 Petter Reinholdtsen <pere@hungry.com> * locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND MONTENEGRO" which have taken over the code 819. Patch from Danilo Segan. [BZ #40] 2004-05-15 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to __sparc_get_pic_l7. 2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk> * catgets/gencat.c: Update bug reporting instructions. * csu/version.c: Likewise. * debug/catchsegv.sh: Likewise. * debug/pcprofiledump.c: Likewise. * debug/xtrace.sh: Likewise. * elf/ldd.bash.in: Likewise. * iconv/iconv_prog.c: Likewise. * iconv/iconvconfig.c: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * login/programs/pt_chown.c: Likewise. * malloc/memusage.sh: Likewise. * malloc/memusagestat.c: Likewise. * malloc/mtrace.pl: Likewise. * manual/crypt.texi: Likewise. * manual/install.texi: Likewise. * nss/makedb.c: Likewise. 2004-05-14 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only CHECK_STATIC_TLS if sym != NULL. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise. 2004-05-12 Andreas Schwab <schwab@suse.de> * posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs when translating. 2004-05-13 H.J. Lu <hongjiu.lu@intel.com> * Rules (xtests): Depend on tests.
* [BZ #130, BZ #131]Roland McGrath2004-04-291-9/+9
| | | | | | | | | | | | | | | | 2004-04-28 Carlos O'Donell <carlos@baldric.uwo.ca> * sysdeps/unix/sysv/linux/mq_getattr.c: Include <stddef.h>. * sysdeps/unix/sysv/linux/mq_notify.c: Likewise. * sysdeps/unix/sysv/linux/mq_open.c: Likewise. * sysdeps/unix/sysv/linux/mq_receive.c: Likewise. * sysdeps/unix/sysv/linux/mq_send.c: Likewise. * manual/resource.texi (sched_setaffinity, sched_getaffinity): Fix prototypes and description [BZ #131]. * string/bits/string2.h (strpbrk): Cast NULL to char * [BZ #130]. Patch by Ed Catmur <ed@catmur.co.uk>. * string/tst-inlcall.c (main): Add test for strpbrk.
* 2004-04-21 Jakub Jelinek <jakub@redhat.com>Roland McGrath2004-04-211-3/+3
| | | | | | * manual/ctype.texi (isblank, iswblank): Mark as ISO functions, mention they have been added in ISO C99. Reported by Ben Pfaff <blp@cs.stanford.edu>.
* Update.Ulrich Drepper2004-04-211-4/+5
| | | | | | | | | | | | | | | | 2004-04-21 Jakub Jelinek <jakub@redhat.com> * posix/tst-chmod.c (do_test): Fix a typo. * elf/lateglobal.c (main): Fix error checks. Patch by Stephen Clarke <stephen.clarke@st.com>. * manual/ctype.texi (isblank, iswblank): Mark as ISO functions, mention they have been added in ISO C99. Reported by Ben Pfaff <blp@cs.stanford.edu>. 2004-03-31 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: Fix typo.
* Update.Ulrich Drepper2004-04-171-0/+2
| | | | | | 2004-04-17 Ulrich Drepper <drepper@redhat.com> * rt/tst-timer4.c: Disable some tests, mark errors better.
* * manual/Makefile (stamp-summary): Use -k option to sort,Roland McGrath2004-03-181-2/+3
| | | | | not traditional key selection syntax. Reported by Jim Gifford <giffordj@linkline.com>.
* (Tools for Compilation): Autoconf 2.53 is required. (Supported ↵Andreas Jaeger2004-02-291-1/+2
| | | | Configurations): Add x86_64-*-linux.
* (Tools for Compilation): Grammar fixes.Roland McGrath2004-01-301-1/+1
|
* Update.Ulrich Drepper2003-12-301-1/+1
| | | | | | | 2003-12-30 Jakub Jelinek <jakub@redhat.com> * sunrpc/pmap_clnt.c (pmap_set): Do CLNT_DESTROY even if CLNT_CALL failed. Reported by Steve Grubb.
* * manual/arith.texi (Parsing of Integers): Typo fix.Roland McGrath2003-12-221-1/+1
| | | | | | | | | 2003-12-20 Roland McGrath <roland@frob.com> * sysdeps/generic/ifreq.c (__ifreq) [_HAVE_SA_LEN]: Fix typo: add missing dereference of IFREQS before counting loop. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [!__PPC64_ELF_H]: Extend
* Update.Ulrich Drepper2003-11-291-6/+7
| | | | | | | * misc/mntent_r.c (decode_name): Fix decoding of tab, add decoding of newline. * manual/sysinfo.texi (mtab): Adjust description accordingly. Reported by Andries.Brouwer@cwi.nl.
* * manual/xtract-typefun.awk: Swallow [(){}*] from function names.Roland McGrath2003-11-121-0/+2
|
* 2003-11-11 Roland McGrath <roland@redhat.com>Roland McGrath2003-11-122-28/+14
| | | | | | | | | | | | | | | | * manual/Makefile (info): Don't depend on dir-add.info. (libc.dvi libc.pdf libc.info): Depend on dir-add.texi. (dir-add.info): Target removed, replaced with ... (dir-add.texi): New target. (distribute): Add it. (install): Remove variant with --section arguments. Let the @dircategory directives do their work. (mostlyclean): Don't remove dir-add.info here. (realclean): Remove dir-add.texi here. * manual/libc.texinfo: @include dir-add.texi * configure.in: Remove check for old Debian install-info. * configure: Regenerated. * config.make.in (OLD_DEBIAN_INSTALL_INFO): Variable removed.
* 2003-11-09 Roland McGrath <roland@redhat.com>Roland McGrath2003-11-101-1/+1
| | | | | * manual/examples/dir2.c (one): Add const to argument type. Reported by J de Haan <j.de.haan@home.nl>.
* Update.Ulrich Drepper2003-11-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-07 Jakub Jelinek <jakub@redhat.com> * io/ftw.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define. (ftw_dir, ftw_startup): Add __attribute ((noinline)). (NFTW_OLD_NAME, NFTW_NEW_NAME): New functions. (NFTW_NAME): Only define if !_LIBC, add versioned_symbol and compat_symbol. * io/ftw64.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define. * io/Versions (libc): Export nftw@@GLIBC_2.3.3 and nftw64@@GLIBC_2.3.3. * io/ftw.h (FTW_ACTIONRETVAL): New flag. (FTW_CONTINUE, FTW_STOP, FTW_SKIP_SUBTREE, FTW_SKIP_SIBLINGS): New. * io/ftw.c (ftw_dir): Add old_dir argument. Clear result if it was FTW_SKIP_SIBLINGS after processing all dir entries. Change cwd back if old_dir != NULL. (process_entry): Adjust caller. Don't change cwd back here. Change FTW_SKIP_SUBTREE result to 0. (ftw_startup): Adjust ftw_dir caller. Clear result if it was FTW_SKIP_SUBTREE or FTW_SKIP_SIBLINGS. * io/ftwtest.c (skip_subtree, skip_siblings): New variables. (options, main): Add --skip-subtree and --skip-siblings options. (cb): Use return FTW_CONTINUE instead of return 0. Handle --skip-subtree and --skip-siblings. * io/ftwtest-sh: Add tests for FTW_ACTIONRETVAL. * manual/filesys.texi: Document FTW_ACTIONRETVAL.
* Fix warnings. Better error message for missing -c argument.Ulrich Drepper2003-10-061-3/+7
|
* Update.Ulrich Drepper2003-09-081-1/+1
| | | | | | | | | 2003-09-08 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c (sYSMALLOc): Move foreign sbrk accounting into contiguous case. Bug report from Prem Gopalan <prem@mazunetworks.com>. (mALLOPt): Avoid requirement of C99.
* Update.Ulrich Drepper2003-09-031-1/+2
| | | | | | | | | | | | | | | | | 2003-09-03 Ulrich Drepper <drepper@redhat.com> * grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions. (CFLAGS-getgrent.c): Likewise. * pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions. (CFLAGS-getpwent.c): Likewise. * shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions. (CFLAGS-getspent.c): Likewise. * inet/Makefile: Add -fexceptions to CFLAGS for the various getXXent and getXXbyYY functions. * locale/loadlocale.c: Use not-cancelable variants of open, close, and read.
* Update.Ulrich Drepper2003-08-291-9/+39
| | | | | | | | | | | | | | 2003-04-27 Bruno Haible <bruno@clisp.org> * manual/message.texi (Advanced gettext functions): Add information about Korean, Portuguese, Latvian. Gaeilge is also known as Irish. Add section about Lithuanian, reported by Ricardas Cepas <rch@richard.eu.org>. Add information about Croatian. Ukrainian is like Russian, reported by Andy Rysin <arysin@yahoo.com>. Remove remark about continuation lines that is not true for PO files. Fix formula for Slovenian, reported by Roman Maurer <roman.maurer@amis.net>.
* 2003-07-21 Art Haas <ahaas@airmail.net>Roland McGrath2003-07-221-1/+1
| | | | | * manual/charset.texi (Converting a Character): Fix example code so a valid pointer is returned.
* Update.Ulrich Drepper2003-06-011-3/+3
| | | | | | | | | 2003-06-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (CFLAGS-dl-runtime.c): Define. * wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match stpncpy.
* Update.Ulrich Drepper2003-05-131-90/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-12 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/bits/atomic.h (__arch_compare_and_exchange_bool_8_rel): Define. (__arch_compare_and_exchange_bool_16_rel): Define. (__ARCH_REL_INSTR): Define if not already defined. (__arch_atomic_exchange_and_add_32): Add "memory" to clobber list. (__arch_atomic_decrement_if_positive_32): Add "memory" to clobber list. (__arch_compare_and_exchange_val_32_acq): Remove release sync. (__arch_compare_and_exchange_val_32_rel): Define. (__arch_atomic_exchange_32): Remove. (__arch_atomic_exchange_32_acq): Define. (__arch_atomic_exchange_32_rel): Define. (atomic_compare_and_exchange_val_rel): Define. (atomic_exchange_acq): Use __arch_atomic_exchange_*_acq forms. (atomic_exchange_rel): Define. * sysdeps/powerpc/powerpc32/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq): Remove release sync. (__arch_compare_and_exchange_bool_32_rel): Define. (__arch_compare_and_exchange_bool_64_rel): Define. (__arch_compare_and_exchange_val_64_rel): Define. (__arch_atomic_exchange_64): Remove. (__arch_atomic_exchange_64_acq): Define. (__arch_atomic_exchange_64_rel): Define. * sysdeps/powerpc/powerpc64/bits/atomic.h (__arch_compare_and_exchange_bool_32_rel): Define. (__arch_compare_and_exchange_bool_64_acq): Remove release sync. (__arch_compare_and_exchange_bool_64_rel): Define. (__arch_compare_and_exchange_val_64_acq): Remove release sync. (__arch_compare_and_exchange_val_64_rel): Define. (__arch_atomic_exchange_64): Remove. (__arch_atomic_exchange_64_acq): Define. (__arch_atomic_exchange_64_rel): Define. (__arch_atomic_exchange_and_add_64): Add "memory" to clobber list. (__arch_atomic_decrement_if_positive_64): Add "memory" to clobber list. [!UP](__ARCH_REL_INSTR): Define as lwsync. the space-padded-by-default conversion specifiers, %e, %k, %l.
* Update.Ulrich Drepper2003-05-102-1/+185
| | | | | | | | | | | | | | | | | | | | | 2003-05-09 Thorsten Kukuk <kukuk@suse.de> * sysdeps/unix/sysv/linux/netinet/igmp.h: Don't include kernel headers, add defines from kernel header, move it from here... * inet/netinet/igmp.h: ... to here. * inet/Makefile (headers): Add netinet/igmp.h. * sysdeps/unix/sysv/linux/Makefile: Remove netinet/igmp.h. * sysdeps/unix/sysv/linux/Dist: Remove netinet/igmp.h. 2003-05-10 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/lio_listio64.c (lio_listio64): If SIG == NULL, use dummy sigevent structure with SIGEV_NONE [PR libc/5015]. 2003-05-09 Thorsten Kukuk <kukuk@suse.de> * libio/bits/stdio.h: Sync prototypes with libio/stdio.h (remove __THROW from possible cancellation points).
* Update. glibc-2.3.2 cvs/glibc-2_3_2Ulrich Drepper2003-03-011-1/+1
| | | | | | | | | | | | | | | * argp/argp.h: Fix a typo. Reported by H.S.Teoh <hsteoh@quickfur.ath.cx>. * manual/terminal.texi: Fix cfmakeraw() definition from int to void. 2003-02-27 Pat Rankin <rankin@pactechdata.com> * posix/regexec.c (proceed_next_node): Cast re_string_get_buffer to char *. (get_subexp): Likewise. 2003-03-01 GOTO Masanori <gotom@debian.or.jp>
* * manual/memory.texi (Malloc Tunable Parameters): Clarify Andreas Jaeger2003-02-251-1/+2
| | | | behaviour of M_MMAP_THRESHOLD.