hash, mgetgroups: drop xalloc dependency
[gnulib.git] / NEWS
1 Important notes
2 ---------------
3
4 2010-09-04  gnulib-tool     The option '--import' is no longer cumulative; it
5                             now expects the complete list of modules and other
6                             options on the command line. If you want to
7                             augment (not set) the list of modules, use the
8                             new option '--add-import' instead of '--import'.
9
10 User visible incompatible changes
11 ---------------------------------
12
13 Date        Modules         Changes
14
15 2011-04-27  mgetgroups      The 'xgetgroups' function has been split into
16                             a new 'xgetgroups' module.
17
18 2011-04-27  save-cwd        This module pulls in fewer dependencies by
19                             default; to retain robust handling of directories
20                             with an absolute name longer than PATH_MAX, you
21                             must now explicitly include the 'getcwd' module.
22
23 2011-04-19  close-hook      This module has been renamed to 'fd-hook' and
24                             generalized.
25
26 2011-03-08  regex-quote     The last argument is no longer an 'int cflags'
27                             but instead a pointer to a previously constructed
28                             'struct regex_quote_spec'.
29
30 2011-02-25  dirname         These modules no longer put #defines for the
31             dirname-lgpl    following symbols into <config.h>: ISSLASH,
32             backupfile      FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX,
33             lstat           FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR,
34             openat          FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
35             remove          Applications that need ISSLASH can include the new
36             rmdir           header dosname.h.
37             savewd
38             stat
39             unlink
40
41 2011-02-14  getloadavg      This module no longer #defines C_GETLOADAVG or
42                             HAVE_GETLOADAVG, as the application no longer needs
43                             to worry about how getloadavg is defined.  It no
44                             longer defines the obsolete symbol NLIST_NAME_UNION
45                             (which should have been internal to the module
46                             anyway).  Also, support for setgid use has been
47                             removed, as nobody seems to be using it; thus
48                             GETLOADAVG_PRIVILEGED is no longer #defined and
49                             KMEM_GROUP and NEED_SETGID are no longer
50                             substituted for.
51
52 2011-02-08  stdlib          Unless the random_r module is also used, this
53                             module no longer guarantees that the following are
54                             defined: struct random_data, RAND_MAX, random_r,
55                             srandom_r, initstate_r, setstate_r.
56
57 2011-02-08  wctype-h        This module no longer provides the iswblank()
58                             function. If you need this function, you now need
59                             to request the 'iswblank' module.
60
61 2011-02-07  wctype          This module is renamed to wctype-h.
62
63 2011-01-18  multiarch       This no longer #defines AA_APPLE_UNIVERSAL_BUILD;
64                             instead, use the shell var APPLE_UNIVERSAL_BUILD.
65
66 2010-12-10  pipe            This module is renamed to spawn-pipe. The include
67                             file is renamed to "spawn-pipe.h".
68
69 2010-10-05  getdate         This module is deprecated. Please use the new
70                             parse-datetime module for the replacement
71                             function parse_datetime(), or help us write
72                             getdate-posix for getdate(). Also, the header
73                             "getdate.h" has been renamed "parse-datetime.h",
74                             and doc/getdate.texi to doc/parse-datetime.texi.
75
76 2010-09-29  sys_wait        This module no longer provides the waitpid()
77                             function. If you need this function, you now need
78                             to request the 'waitpid' module.
79
80 2010-09-17  utimens         The function gl_futimens is removed, and its
81                             signature has been migrated to fdutimens.  Callers
82                             of gl_futimens should change function name, and
83                             callers of fdutimens should swap parameter order.
84
85 2010-09-17  fdutimensat     This function has a new signature: the fd now comes
86                             first instead of the dir/name pair, and a new
87                             atflag parameter is added at the end.  Old code
88                             should rearrange parameters, and pass 0 for atflag.
89
90 2010-09-13  regex           The module is not guaranteeing anymore support for
91                             64-bit regoff_t on 64-bit systems.  The size of
92                             regoff_t will always be 32-bit unless the program
93                             is being configured --with-included-regex.  This
94                             may change again in the future once glibc provides
95                             this feature as well.
96
97 2010-09-12  savedir         The fdsavedir function is now deprecated.
98
99 2010-09-10  fcntl-h         This module now defaults O_CLOEXEC to 0, and
100                             it defaults O_EXEC and O_SEARCH to O_RDONLY.
101                             Use "#if O_CLOEXEC" instead of "#ifdef O_CLOEXEC".
102
103 2010-08-28  realloc         This module is deprecated. Use 'realloc-gnu'
104                             instead. It will be removed 2012-01-01.
105
106 2010-08-28  calloc          This module is deprecated. Use 'calloc-gnu'
107                             instead. It will be removed 2012-01-01.
108
109 2010-08-28  malloc          This module is deprecated. Use 'malloc-gnu'
110                             instead. It will be removed 2012-01-01.
111
112 2010-08-14  memxfrm         This module is renamed to amemxfrm. The include
113                             file is renamed to "amemxfrm.h". The function is
114                             renamed to amemxfrm.
115
116 2010-08-09  symlinkat       This module now only provides symlinkat; use the
117                             new module 'readlinkat' if needed.
118
119 2010-07-31  ansi-c++-opt    If Autoconf >= 2.66 is used, the 'configure'
120                             option is now called --disable-c++ rather than
121                             --disable-cxx.
122
123 2010-04-02  maintainer-makefile
124                             The macro _prohibit_regexp has been revamped into
125                             a new macro _sc_search_regexp; custom syntax
126                             checks in your cfg.mk will need to be rewritten.
127
128 2010-03-28  lib-ignore      This module now provides a variable
129                             IGNORE_UNUSED_LIBRARIES_CFLAGS that you should
130                             add to LDFLAGS (when linking C programs only) or
131                             CFLAGS yourself. It is no longer added to LDFLAGS
132                             automatically.
133
134 2010-03-18  pty             This module now only declares the pty.h header.
135                             Use the new modules 'forkpty' or 'openpty' to
136                             get the functions that were previously provided.
137
138 2010-03-05  exit            This module is deprecated, use 'stdlib' directly
139                             instead.  It will be removed 2011-01-01.
140
141 2009-12-13  sublist         The module does not define functions any more that
142                             call xalloc_die() in out-of-memory situations. Use
143                             module 'xsublist' and include file "gl_xsublist.h"
144                             instead.
145
146 2009-12-13  list            The module does not define functions any more that
147                             call xalloc_die() in out-of-memory situations.
148                             Use module 'xlist' and include file "gl_xlist.h"
149                             instead.
150
151 2009-12-13  oset            The module does not define functions any more that
152                             call xalloc_die() in out-of-memory situations.
153                             Use module 'xoset' and include file "gl_xoset.h"
154                             instead.
155
156 2009-12-10  *               Most source code files have been converted to
157                             indentation by spaces (rather than tabs). Patches
158                             of gnulib source code needs to be updated.
159
160 2009-12-09  link-warning    The Makefile rules that use $(LINK_WARNING_H) now
161                             must contain an explicit dependency on
162                             $(LINK_WARNING_H).
163
164 2009-11-12  getgroups       These functions now use a signature of gid_t,
165             getugroups      rather than GETGROUPS_T.  This probably has no
166                             effect except on very old platforms.
167
168 2009-11-04  tempname        The gen_tempname function takes an additional
169                             'suffixlen' argument. You can safely pass 0.
170
171 2009-11-04  nproc           The num_processors function now takes an argument.
172
173 2009-11-02  inet_pton       The use of this module now requires linking with
174                             $(INET_PTON_LIB).
175
176 2009-11-02  inet_ntop       The use of this module now requires linking with
177                             $(INET_NTOP_LIB).
178
179 2009-10-10  utimens         The use of this module now requires linking with
180                             $(LIB_CLOCK_GETTIME).
181
182 2009-09-16  canonicalize-lgpl
183                             The include file is changed from "canonicalize.h"
184                             to <stdlib.h>.
185
186 2009-09-04  link-follow     The macro LINK_FOLLOWS_SYMLINK is now tri-state,
187                             rather than only defined to 1.
188
189 2009-09-03  openat          The include files are standardized to POSIX 2008.
190                             For openat, include <fcntl.h>; for
191                             fchmodat, fstatat, and mkdirat, include
192                             <sys/stat.h>; for fchownat and unlinkat,
193                             include <unistd.h>.  For all other
194                             functions provided by this module,
195                             continue to include "openat.h".
196
197 2009-08-30  striconveh      The functions mem_cd_iconveh and str_cd_iconveh
198                             now take an 'iconveh_t *' argument instead of three
199                             iconv_t arguments.
200
201 2009-08-23  tempname        The gen_tempname function takes an additional
202                             'flags' argument. You can safely pass 0.
203
204 2009-08-12  getopt          This module is deprecated. Please choose among
205                             getopt-posix and getopt-gnu. getopt-gnu provides
206                             "long options" and "options with optional
207                             arguments", getopt-posix doesn't.
208
209 2009-06-25  fpurge          The include file is changed from "fpurge.h" to
210                             <stdio.h>.
211
212 2009-04-26  modules/uniconv/u8-conv-from-enc
213             modules/uniconv/u16-conv-from-enc
214             modules/uniconv/u32-conv-from-enc
215                             The calling convention of the functions
216                             u*_conv_from_encoding is changed.
217
218 2009-04-26  modules/uniconv/u8-conv-to-enc
219             modules/uniconv/u16-conv-to-enc
220             modules/uniconv/u32-conv-to-enc
221                             The calling convention of the functions
222                             u*_conv_to_encoding is changed.
223
224 2009-04-24  maintainer-makefile
225                             The maint.mk file was copied from
226                             coreutils, and the old
227                             coverage/gettext/indent rules were
228                             re-added.  If you used 'make syntax-check'
229                             this will add several new checks.  If some
230                             new check is annoying, add the name of the
231                             checks to 'local-checks-to-skip' in your
232                             cfg.mk.
233
234 2009-04-01  visibility      Renamed to lib-symbol-visibility.
235
236 2009-04-01  ld-version-script  Renamed to lib-symbol-versions.
237
238 2009-03-20  close           The substituted variable LIB_CLOSE is removed.
239
240 2009-03-05  filevercmp      Move hidden files up in ordering.
241
242 2009-01-22  c-strtod        This function no longer calls xalloc_die(). If
243             c-strtold       you want to exit the program in case of out-of-
244                             memory, the calling function needs to arrange
245                             for it, like this:
246                                 errno = 0;
247                                 val = c_strtod (...);
248                                 if (val == 0 && errno == ENOMEM)
249                                   xalloc_die ();
250
251 2009-01-17  relocatable-prog  In the Makefile.am or Makefile.in, you now also
252                             need to set RELOCATABLE_STRIP = :.
253
254 2008-12-22  getaddrinfo     When using this module, you now need to link with
255             canon-host      $(GETADDRINFO_LIB).
256
257 2008-12-21  mbiter          The header files "mbiter.h", "mbuiter.h",
258             mbuiter         "mbfile.h" can now be included without checking
259             mbfile          HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no
260                             longer be defined by these modules in a year. If
261                             you want to continue to use it, you need to invoke
262                             AC_FUNC_MBRTOWC yourself.
263
264 2008-11-11  warnings        This module subsumes the file m4/warning.m4 which
265                             was removed.
266
267 2008-10-20  lstat           The include file is changed from "lstat.h" to
268                             <sys/stat.h>.
269
270 2008-10-20  getaddrinfo     The include file is changed from "getaddrinfo.h"
271                             to <netdb.h>.
272
273 2008-10-19  isnanf          The include file is changed from "isnanf.h" to
274                             <math.h>.
275             isnand          The include file is changed from "isnand.h" to
276                             <math.h>.
277             isnanl          The include file is changed from "isnanl.h" to
278                             <math.h>.
279
280 2008-10-18  lchmod          The include file is changed from "lchmod.h" to
281                             <sys/stat.h>.
282
283 2008-10-18  dirfd           The include file is changed from "dirfd.h" to
284                             <dirent.h>.
285
286 2008-10-18  euidaccess      The include file is changed from "euidaccess.h"
287                             to <unistd.h>.
288
289 2008-10-18  getdomainname   The include file is changed from "getdomainname.h"
290                             to <unistd.h>.
291
292 2008-09-28  sockets         When using this module, you now need to link with
293                             $(LIBSOCKET).
294
295 2008-09-24  sys_select      The limitation on `select', introduced 2008-09-23,
296                             was removed.  sys_select now includes a select
297                             wrapper for Winsock.  The wrapper expects socket
298                             and file descriptors to be compatible as arranged
299                             by the sys_socket on MinGW.
300
301 2008-09-23  sys_socket      Under Windows (MinGW), the module now adds
302                             wrappers around Winsock functions, so that
303                             socket descriptors are now compatible with
304                             file descriptors.  In general, this change
305                             will simply improve your code's portability
306                             between POSIX platforms and Windows.  In
307                             particular, you will be able to use ioctl and
308                             close instead of ioctlsocket and closesocket,
309                             and test errno instead of WSAGetLastError ().
310                             On the other hand, you have to audit your code to
311                             remove usage of these Winsock-specific functions.
312
313                             This change does not remove the need to call
314                             the gl_sockets_startup function from the sockets
315                             gnulib module.  Also, for now select is disabled
316                             when you include the sys_socket module; while
317                             the functionality will be restored soon, for
318                             efficiency it is suggested to use the poll system
319                             poll system call and gnulib module instead.
320
321 2008-09-13  EOVERFLOW       The module is removed. Use module errno instead.
322
323 2008-09-01  filename        The module does not define the function
324                             concatenated_filename any more. To get an
325                             equivalent function, use function
326                             xconcatenated_filename from module
327                             'xconcat-filename'.
328
329 2008-08-31  havelib         On Solaris, when searching for 64-bit mode
330                             libraries the directory $prefix/lib is now ignored.
331                             Instead the directory $prefix/lib/64 is searched.
332                             You may need to create a symbolic link for
333                             $prefix/lib/64 if you have 64-bit libraries
334                             installed in $prefix/lib.
335
336 2008-08-19  strverscmp      The include file is changed from "strverscmp.h"
337                             to <string.h>.
338
339 2008-08-14  lock            The include file is changed from "lock.h"
340                             to "glthread/lock.h".
341             tls             The include file is changed from "tls.h"
342                             to "glthread/tls.h".
343
344 2008-07-17  c-stack         The module now requires the addition of
345                             $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am,
346                             since it may depend on linking with libsigsegv.
347
348 2008-07-07  isnanf-nolibm   The include file is changed from "isnanf.h"
349                             to "isnanf-nolibm.h".
350             isnand-nolibm   The include file is changed from "isnand.h"
351                             to "isnand-nolibm.h".
352
353 2008-06-10  execute         The execute function takes an additional termsigp
354                             argument. Passing termsigp = NULL is ok.
355             wait-process    The wait_subprocess function takes an additional
356                             termsigp argument. Passing termsigp = NULL is ok.
357
358 2008-05-10  linebreak       The module is split into several modules unilbrk/*.
359                             The include file is changed from "linebreak.h" to
360                             "unilbrk.h". Two functions are renamed:
361                             mbs_possible_linebreaks -> ulc_possible_linebreaks
362                             mbs_width_linebreaks -> ulc_width_linebreaks
363
364 2008-04-28  rpmatch         The include file is now <stdlib.h>.
365
366 2008-04-28  inet_ntop       The include file is changed from "inet_ntop.h"
367                             to <arpa/inet.h>.
368
369 2008-04-28  inet_pton       The include file is changed from "inet_pton.h"
370                             to <arpa/inet.h>.
371
372 2008-03-06  freadahead      The return value's computation has changed. It
373                             now increases by 1 after ungetc.
374
375 2008-01-26  isnan-nolibm    The module name is changed from isnan-nolibm to
376                             isnand-nolibm. The include file is changed from
377                             "isnan.h" to "isnand.h". The function that it
378                             defines is changed from isnan() to isnand().
379
380 2008-01-14  strcasestr      This module now replaces worst-case inefficient
381                             implementations; clients that use controlled
382                             needles and thus do not care about worst-case
383                             efficiency should use the new strcasestr-simple
384                             module instead for smaller code size.
385
386 2008-01-09  alloca-opt      Now defines HAVE_ALLOCA_H only when the system
387                             supplies an <alloca.h>.  Gnulib-using code is now
388                             expected to include <alloca.h> unconditionally.
389                             Non-gnulib-using code can continue to include
390                             <alloca.h> only if HAVE_ALLOCA_H is defined.
391
392 2008-01-08  memmem          This module now replaces worst-case inefficient
393                             implementations; clients that use controlled
394                             needles and thus do not care about worst-case
395                             efficiency should use the new memmem-simple
396                             module instead for smaller code size.
397
398 2007-12-24  setenv          The include file is changed from "setenv.h" to
399                             <stdlib.h>. Also, the unsetenv function is no
400                             longer declared in this module; use the 'unsetenv'
401                             module if you need it.
402
403 2007-12-03  getpagesize     The include file is changed from "getpagesize.h"
404                             to <unistd.h>.
405
406 2007-12-03  strcase         The include file is changed from <string.h> to
407                             <strings.h>.
408
409 2007-10-07  most modules    The license for most modules has changed from
410                             GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+.
411                             A few modules are still under LGPLv2+; see the
412                             module description for the applicable license.
413
414 2007-09-01  linebreak       "linebreak.h" no longer declares the functions
415                             locale_charset, uc_width, u{8,16,32}_width. Use
416                             "uniwidth.h" to get these functions declared.
417
418 2007-08-28  areadlink-with-size
419                             Renamed from mreadlink-with-size.
420                             Function renamed: mreadlink_with_size ->
421                             areadlink_with_size.
422
423 2007-08-22  getdelim, getline
424                             The include file is changed from "getdelim.h"
425                             and "getline.h" to the POSIX 200x <stdio.h>.
426
427 2007-08-18  idcache         Now provides prototypes in "idcache.h".
428
429 2007-08-10  xstrtol         The STRTOL_FATAL_ERROR macro is removed.
430                             Use the new xstrtol_fatal function instead.
431
432 2007-08-04  human           The function human_options no longer reports an
433                             error to standard error; that is now the
434                             caller's responsibility.  It returns an
435                             error code of type enum strtol_error
436                             instead of the integer option value, and stores
437                             the option value via a new int * argument.
438             xstrtol         The first two arguments of STRTOL_FATAL_ERROR
439                             are now an option name and option argument
440                             instead of an option argument and a type string,
441                             STRTOL_FAIL_WARN is removed.
442
443 2007-07-14  gpl, lgpl       New Texinfo versions with no sectioning commands.
444
445 2007-07-10  version-etc     Output now mentions GPLv3+, not GPLv2+.  Use
446                             gnulib-tool --local-dir to override this.
447
448 2007-07-07  wcwidth         The include file is changed from "wcwidth.h" to
449                             <wchar.h>.
450
451 2007-07-02  gpl, lgpl       Renamed to gpl-2.0 and lgpl-2.1 respectively.
452                             (There is also a new module gpl-3.0.)
453
454 2007-06-16  lchown          The include file is changed from "lchown.h" to
455                             <unistd.h>.
456
457 2007-06-09  xallocsa        Renamed to xmalloca. The include file "xallocsa.h"
458                             was remamed to "xmalloca.h". The function was
459                             renamed:
460                               xallocsa -> xmalloca
461
462 2007-06-09  allocsa         Renamed to malloca. The include file "allocsa.h"
463                             was remamed to "malloca.h". The function-like
464                             macros were renamed:
465                               allocsa -> malloca
466                               freesa -> freea
467
468 2007-05-20  utimens         Renamed futimens to gl_futimens, to avoid
469                             conflict with the glibc-2.6-introduced function
470                             that has a different signature.
471
472 2007-05-01  sigprocmask     The module now depends on signal, so replace
473                               #include "sigprocmask.h"
474                             with
475                               #include <signal.h>
476
477 2007-04-06  gettext         The macro HAVE_LONG_DOUBLE is no longer set.
478                             You can replace all its uses with 1, i.e. assume
479                             'long double' as a type exists.
480
481 2007-04-01  arcfour         Renamed to crypto/arcfour.
482             arctwo          Renamed to crypto/arctwo.
483             des             Renamed to crypto/des.
484             gc              Renamed to crypto/gc.
485             gc-arcfour      Renamed to crypto/gc-arcfour.
486             gc-arctwo       Renamed to crypto/gc-arctwo.
487             gc-des          Renamed to crypto/gc-des.
488             gc-hmac-md5     Renamed to crypto/gc-hmac-md5.
489             gc-hmac-sha1    Renamed to crypto/gc-hmac-sha1.
490             gc-md2          Renamed to crypto/gc-md2.
491             gc-md4          Renamed to crypto/gc-md4.
492             gc-md5          Renamed to crypto/gc-md5.
493             gc-pbkdf2-sha1  Renamed to crypto/gc-pbkdf2-sha1.
494             gc-random       Renamed to crypto/gc-random.
495             gc-rijndael     Renamed to crypto/gc-rijndael.
496             gc-sha1         Renamed to crypto/gc-sha1.
497             hmac-md5        Renamed to crypto/hmac-md5.
498             hmac-sha1       Renamed to crypto/hmac-sha1.
499             md2             Renamed to crypto/md2.
500             md4             Renamed to crypto/md4.
501             md5             Renamed to crypto/md5.
502             rijndael        Renamed to crypto/rijndael.
503             sha1            Renamed to crypto/sha1.
504
505 2007-03-27  vasprintf       The module now depends on stdio, so replace
506                                #include "vasprintf.h"
507                             with
508                                #include <stdio.h>
509
510 2007-03-24  tsearch         The include file is changed from "tsearch.h" to
511                             <search.h>.
512
513 2007-03-24  utf8-ucs4       The include file is changed from "utf8-ucs4.h"
514                             to "unistr.h".
515             utf8-ucs4-unsafe  The include file is changed from
516                             "utf8-ucs4-unsafe.h" to "unistr.h".
517             utf16-ucs4      The include file is changed from "utf16-ucs4.h"
518                             to "unistr.h".
519             utf16-ucs4-unsafe  The include file is changed from
520                             "utf16-ucs4-unsafe.h" to "unistr.h".
521             ucs4-utf8       The include file is changed from "ucs4-utf8.h"
522                             to "unistr.h".
523             ucs4-utf16      The include file is changed from "ucs4-utf16.h"
524                             to "unistr.h".
525
526 2007-03-19  iconvme         The module is removed. Use module striconv instead:
527                             iconv_string -> str_iconv
528                             iconv_alloc -> str_cd_iconv (with reversed
529                                            arguments)
530
531 2007-03-15  list            The functions gl_list_create_empty and
532             array-list      gl_list_create now take an extra fourth argument.
533             carray-list     You can pass NULL.
534             linked-list
535             linkedhash-list
536             avltree-list
537             rbtree-list
538             avltreehash-list
539             rbtreehash-list
540
541 2007-03-15  oset            The function gl_oset_create_empty now takes a
542             array-oset      third argument. You can pass NULL.
543             avltree-oset
544             rbtree-oset
545
546 2007-03-12  des             The types and functions in lib/des.h have been
547             gc-des          renamed:
548
549                             des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx,
550                             des_is_weak_key -> gl_des_is_weak_key,
551                             des_setkey -> gl_des_setkey,
552                             des_makekey -> gl_des_makekey,
553                             des_ecb_crypt -> gl_des_ecb_crypt,
554                             des_ecb_encrypt -> gl_des_ecb_encrypt,
555                             des_ecb_decrypt -> gl_des_ecb_decrypt,
556                             tripledes_set2keys -> gl_3des_set2keys,
557                             tripledes_set3keys -> gl_3des_set3keys,
558                             tripledes_makekey -> gl_3des_makekey,
559                             tripledes_ecb_crypt -> gl_3des_ecb_crypt.
560
561                             Also consider using the "gc-des" buffer instead of
562                             using the "des" module directly.
563
564 2007-02-28  xreadlink       The module xreadlink was renamed to
565                             xreadlink-with-size. The function was renamed:
566                             xreadlink -> xreadlink_with_size.
567
568 2007-02-18  exit            The modules now depend on stdlib, so replace
569             mkdtemp           #include "exit.h"
570             mkstemp           #include "mkdtemp.h"
571                               #include "mkstemp.h"
572                             with
573                               #include <stdlib.h>
574
575 2007-01-26  strdup          The module now depends on string, so replace
576                               #include "strdup.h"
577                             with
578                               #include <string.h>
579
580 # This is for Emacs.
581 # Local Variables:
582 # indent-tabs-mode: nil
583 # whitespace-check-buffer-indent: nil
584 # End: