1. 01 Jan, 2019 1 commit
  2. 01 Jan, 2018 1 commit
  3. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
      bc511a64
  4. 01 Jan, 2017 1 commit
  5. 23 Dec, 2016 1 commit
  6. 10 Mar, 2016 1 commit
    • Paul Eggert's avatar
      Rework C source files to avoid ^( · 7352c6c6
      Paul Eggert authored
      Work around Bug#22884 by rewording comments and strings to avoid ‘(’
      at the start of a line unless it starts a function.  This change
      is a short-term hack; in the longer run we plan to fix cc-mode’s
      performance for C files that have ‘(’ at the start of a line in a
      comment or string.
      7352c6c6
  7. 01 Jan, 2016 1 commit
  8. 01 Jan, 2015 2 commits
  9. 20 Dec, 2014 1 commit
    • Paul Eggert's avatar
      Simplify unexec file mode setting · 9b14d8b6
      Paul Eggert authored
      * unexaix.c, unexcoff.c, unexelf.c, unexmacosx.c:
      Don't include <sys/stat.h> when no longer needed.
      (unexec): Create file with correct mode in the first place,
      rather than overwriting the mode later and fiddling with the
      global umask in the mean time.  Avoid bogus usage like
      'umask (777)', which should have been 'umask (0777)'.
      (mark_x): Remove. All callers removed.
      9b14d8b6
  10. 22 May, 2014 1 commit
    • Paul Eggert's avatar
      Fix port to 32-bit AIX. · 4f4ec76f
      Paul Eggert authored
      * configure.ac (opsys): On Power Architecture, treat release 7 of
      AIX like releases 5 and 6.
      * src/unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
      twice.  _text already includes this offset.
      (unrelocate_symbols): Don't cast 64-bit integer to pointer.
      
      Fixes: debbugs:17540
      4f4ec76f
  11. 01 Jan, 2014 1 commit
  12. 16 Jul, 2013 2 commits
    • Paul Eggert's avatar
      * fileio.c (report_file_errno): Fix errno reporting bug. · a9757f6a
      Paul Eggert authored
      If the file name is neither null nor a pair, package it up as a
      singleton list.  All callers changed, both to this function and to
      report_file_error.  This fixes a bug where the memory allocator
      invoked by list1 set errno so that the immediately following
      report_file_error reported the wrong errno value.
      a9757f6a
    • Paul Eggert's avatar
      Prefer list1 (X) to Fcons (X, Qnil) when building lists. · 6c6f1994
      Paul Eggert authored
      This makes the code easier to read and the executable a bit smaller.
      Do not replace all calls to Fcons that happen to create lists,
      just calls that are intended to create lists.  For example, when
      creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil))
      rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil).
      Similarly for list2 through list5.
      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
      * bytecode.c (exec_byte_code):
      * callint.c (quotify_arg, Fcall_interactively):
      * callproc.c (Fcall_process, create_temp_file):
      * charset.c (load_charset_map_from_file)
      (Fdefine_charset_internal, init_charset):
      * coding.c (get_translation_table, detect_coding_system)
      (Fcheck_coding_systems_region)
      (Fset_terminal_coding_system_internal)
      (Fdefine_coding_system_internal, Fdefine_coding_system_alias):
      * composite.c (update_compositions, Ffind_composition_internal):
      * dired.c (directory_files_internal, file_name_completion)
      (Fsystem_users):
      * dispnew.c (Fopen_termscript, bitch_at_user, init_display):
      * doc.c (Fsnarf_documentation):
      * editfns.c (Fmessage_box):
      * emacs.c (main):
      * eval.c (do_debug_on_call, signal_error, maybe_call_debugger)
      (Feval, eval_sub, Ffuncall, apply_lambda):
      * fileio.c (make_temp_name, Fcopy_file, Faccess_file)
      (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes)
      (Fset_file_times, Finsert_file_contents)
      (Fchoose_write_coding_system, Fwrite_region):
      * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns):
      * font.c (font_registry_charsets, font_parse_fcname)
      (font_prepare_cache, font_update_drivers, Flist_fonts):
      * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset):
      * frame.c (make_frame, Fmake_terminal_frame)
      (x_set_frame_parameters, x_report_frame_params)
      (x_default_parameter, Fx_parse_geometry):
      * ftfont.c (syms_of_ftfont):
      * image.c (gif_load):
      * keyboard.c (command_loop_1):
      * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1)
      (Fcopy_keymap, append_key, Fcurrent_active_maps)
      (Fminor_mode_key_binding, accessible_keymaps_1)
      (Faccessible_keymaps, Fwhere_is_internal):
      * lread.c (read_emacs_mule_char):
      * menu.c (find_and_return_menu_selection):
      * minibuf.c (get_minibuffer):
      * nsfns.m (Fns_perform_service):
      * nsfont.m (ns_script_to_charset):
      * nsmenu.m (ns_popup_dialog):
      * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard)
      (Fx_own_selection_internal):
      * nsterm.m (append2):
      * print.c (Fredirect_debugging_output)
      (print_prune_string_charset):
      * process.c (Fdelete_process, Fprocess_contact)
      (Fformat_network_address, set_socket_option)
      (read_and_dispose_of_process_output, write_queue_push)
      (send_process, exec_sentinel):
      * sound.c (Fplay_sound_internal):
      * textprop.c (validate_plist, add_properties)
      (Fput_text_property, Fadd_face_text_property)
      (copy_text_properties, text_property_list, syms_of_textprop):
      * unexaix.c (report_error):
      * unexcoff.c (report_error):
      * unexsol.c (unexec):
      * xdisp.c (redisplay_tool_bar, store_mode_line_string)
      (Fformat_mode_line, syms_of_xdisp):
      * xfaces.c (set_font_frame_param)
      (Finternal_lisp_face_attribute_values)
      (Finternal_merge_in_global_face, syms_of_xfaces):
      * xfns.c (x_default_scroll_bar_color_parameter)
      (x_default_font_parameter, x_create_tip_frame):
      * xfont.c (xfont_supported_scripts):
      * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show)
      (menu_help_callback, xmenu_show):
      * xml.c (make_dom):
      * xterm.c (set_wm_state):
      Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list,
      and similarly for list2 through list5.
      6c6f1994
  13. 12 Jul, 2013 2 commits
    • Paul Eggert's avatar
      Clean up errno reporting and fix some errno-reporting bugs. · a773ed9a
      Paul Eggert authored
      * callproc.c (Fcall_process):
      * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
      * process.c (create_process, Fmake_network_process):
      * unexaix.c (report_error):
      * unexcoff.c (report_error):
      Be more careful about reporting the errno of failed operations.
      The code previously reported the wrong errno sometimes.
      Also, prefer report_file_errno to setting errno + report_file_error.
      (Fcall_process): Look at openp return value rather than at path,
      as that's a bit faster and clearer when there's a numeric predicate.
      * fileio.c (report_file_errno): New function, with most of the
      old contents of report_file_error.
      (report_file_error): Use it.
      (Ffile_exists_p, Ffile_accessible_directory_p):
      Set errno to 0 when it is junk.
      * fileio.c (Faccess_file):
      * image.c (x_create_bitmap_from_file):
      Use faccessat rather than opening the file, to avoid the hassle of
      having a file descriptor open.
      * lisp.h (report_file_errno): New decl.
      * lread.c (Flocate_file_internal): File descriptor 0 is valid, too.
      a773ed9a
    • Paul Eggert's avatar
      Fix races with threads and file descriptors. · bacba3c2
      Paul Eggert authored
      * configure.ac (PTY_TTY_NAME_SPRINTF): Use emacs_close, not close.
      * src/callproc.c (Fcall_process_region):
      * src/dired.c (open_directory):
      * src/emacs.c (main, Fdaemon_initialized):
      * src/image.c (x_find_image_file):
      * src/inotify.c (Finotify_rm_watch):
      * src/lread.c (Flocate_file_internal):
      * src/process.c (Fnetwork_interface_list, Fnetwork_interface_info):
      * src/term.c (term_mouse_moveto, init_tty):
      * src/termcap.c (tgetent):
      * src/unexaix.c, src/unexcoff.c (report_error, report_error_1, adjust_lnnoptrs)
      * src/unexaix.c, src/unexcoff.c, src/unexcw.c, src/unexelf.c (unexec):
      * src/unexhp9k800.c, src/unexmacosx.c (unexec):
      * src/callproc.c (Fcall_process_region):
      Use emacs_close, not close.
      * src/sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]:
      New macro and function, which emulates the POSIX_CLOSE_RESTART macro
      and posix_close function on current platforms (which all lack them).
      (emacs_close): Use it.  This should fix the races on GNU/Linux and
      on AIX and on future platforms that support POSIX_CLOSE_RESTART,
      and it should avoid closing random victim file descriptors on
      other platforms.
      bacba3c2
  14. 06 Jul, 2013 1 commit
    • Paul Eggert's avatar
      Use emacs_open more consistently when opening files. · 406af475
      Paul Eggert authored
      This handles EINTR more consistently now, and makes it easier
      to introduce other uniform changes to file descriptor handling.
      * src/systdio.h: New file.
      * src/buffer.c (mmap_init):
      * cygw32.c (chdir_to_default_directory):
      * dispnew.c (Fopen_termscript):
      * emacs.c (Fdaemon_initialized):
      * fileio.c (Fdo_auto_save):
      * image.c (slurp_file, png_load_body, jpeg_load_body):
      * keyboard.c (Fopen_dribble_file):
      * lread.c (Fload):
      * print.c (Fredirect_debugging_output):
      * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
      * termcap.c (tgetent):
      * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
      * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
      * w32term.c (w32_initialize) [CYGWIN]:
      * xfaces.c (Fx_load_color_file):
      Use emacs_open instead of plain open, and emacs_fopen instead of
      plain fopen.
      * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
      * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
      * callproc.c (default_output_mode): New constant.
      (Fcall_process): Use it to call emacs_open instead of plain creat.
      * dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
      * sysdep.c (emacs_open): Add commentary and don't call file name "path".
      (emacs_fopen): New function.
      * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
      Include <lisp.h>, for emacs_open.
      * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
      406af475
  15. 25 Feb, 2013 1 commit
    • Paul Eggert's avatar
      Simplify data_start configuration. · 1ddc2bd6
      Paul Eggert authored
      This is a followon simplification to the fix for Bug#13650.
      * admin/CPP-DEFINES (DATA_START, ORDINARY_LINK): Remove.
      * configure.ac (CRT_DIR, LIB_STANDARD, START_FILES, DATA_START)
      (LD_FIRSTFLAG, ORDINARY_LINK, LIB_GCC): Remove.
      (AC_CHECK_HEADERS_ONCE): Remove sys/resource.h, as it's
      not always needed.
      (HAVE_DATA_START): New macro.
      * etc/PROBLEMS (LIBS_SYSTEM, LIBS_MACHINE, LIBS_STANDARD): Remove.
      Remove legacy-systems section, as this stuff is no longer
      applicable with current linking strategies.
      * src/Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD)
      (START_FILES): Remove.  All uses removed.
      (otherobj): Remove $(VMLIMIT_OBJ), as it's now first.
      (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first.
      (buildobj.h): Use it.
      ($(ALLOBJS)): Depend on globals.h.
      (temacs$(EXEEXT)): Use $(ALLOBJS).
      * src/autodeps.mk (ALLOBJS): Move to Makefile.in.
      * src/deps.mk (vm-limit.o):
      * src/makefile.w32-in ($(BLD)/vm-limit.$(O)):
      Do not depend on mem-limits.h.
      * src/emacs.c (__do_global_ctors, __do_global_ctors_aux)
      (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__)
      [__GNUC__ && !ORDINARY_LINK]: Remove.
      * src/mem-limits.h, src/pre-crt0.c: Remove.
      * src/unexaix.c, src/unexcoff.c: Don't include mem-limits.h.
      * src/unexcoff.c (etext): New decl.
      (make_hdr): Use it instead of start_of_data.
      * src/vm-limit.c: Move most of mem-limits.h's contents here.
      (data_start): New decl.  It's OK if this is approximate,
      so simplify-away some unnecessary exactness.
      (POINTER): Remove; all uses removed.
      (data_space_start): Now char *, to avoid casts.
      (exceeds_lisp_ptr): New function, replacing the old
      EXCEEDS_LISP_PTR macro.  All uses changed.
      (check_memory_limits): Simplify and remove casts.
      (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove.
      (memory_warnings): Use data_start instead of start_of_data.
      
      Fixes: debbugs:13783
      1ddc2bd6
  16. 14 Feb, 2013 1 commit
    • Paul Eggert's avatar
      Fix AIX port. · 35b3a27e
      Paul Eggert authored
      * configure.ac (DATA_START, DATA_SEG_BITS): Set to 0x20000000 on AIX.
      (GC_MARK_STACK): Do not set to GC_USE_GCPROS_AS_BEFORE, as that
      runs afoul of some other bug in Emacs, and the default value
      GC_MAKE_GCPROS_NOOPS has been tested and works.
      * src/lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]:
      Fix bug introduced in 2012-07-27 change.  DATA_SEG_BITS, if set,
      was #undeffed earlier, so it cannot be used as a macro here.
      Use the constant and not the macro.  Tested on AIX.
      * src/unexaix.c: Revert 2013-02-11 and 2013-02-12 changes to this
      file.  They're almost surely OK but we're just before a release so
      we should avoid changes unless they're clearly needed.  Instead,
      make the following minor change:
      (ADDR_CORRECT): New macro.
      
      Fixes: debbugs:13650
      35b3a27e
  17. 12 Feb, 2013 1 commit
    • Paul Eggert's avatar
      Improve AIX port some more. · f53f992a
      Paul Eggert authored
      With this, it should be as good as it was in 23.3, though it's
      still pretty bad: the dumped emacs does not run.  See Mark Fleishman in
      http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
      * unexaix.c (start_of_text): Remove.
      (_data, _text): Declare as char[], not int, as AIX manual suggests.
      (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
      (orig_load_scnptr, orig_data_scnptr):
      Now off_t, not long, since they are file offsets.
      (make_hdr): Use _data, not start_of_data ().
      This is the key part of the fix.
      (make_hdr, unrelocate_symbols): Use off_t for file offsets.
      (unrelocate_symbols): Cast pointers to intptr_t, not to ulong.
      
      Fixes: debbugs:13650
      f53f992a
  18. 11 Feb, 2013 1 commit
    • Paul Eggert's avatar
      Improve AIX port. · 227be86d
      Paul Eggert authored
      This doesn't fix the bug, but it makes progress: Emacs builds now.
      * unexaix.c: Include inttypes.h, stdarg.h.
      (report_error, report_error_1): Mark as _Noreturn.
      (report_error): Don't report the wrong errno.
      (report_error_1): Now varargs.  All callers changed.
      (make_hdr): Use uintptr_t, not unsigned, when converting pointers
      to unsigned.  Don't use ADDR_CORRECT, as it no longer exists.
      (write_ptr): Use %p to print address rather than %lx and a cast
      to unsigned long.  Grow buffer a bit, to be safer.
      
      Fixes: debbugs:13650
      227be86d
  19. 01 Jan, 2013 1 commit
  20. 15 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Port better to POSIX hosts lacking _setjmp. · 0328b6de
      Paul Eggert authored
      * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
      (_setjmp, _longjmp): Remove.
      * src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
      All instances of '#include <setjmp.h>' removed, if the
      only reason for the instance was because "lisp.h" was included.
      (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
      Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
      and _longjmp with the new symbols.  Emacs already uses _setjmp if
      available, so this change affects only POSIXish hosts that have
      sigsetjmp but not _setjmp, such as some versions of Solaris and
      Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
      * src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
      (png_load_body) [HAVE_PNG]:
      (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
      (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
      Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
      since PNG requires jmp_buf.  This is the only exception to the
      general rule that we now use sys_setjmp and sys_longjmp.
      This exception is OK since this code does not change the signal
      mask or longjmp out of a signal handler.
      
      Fixes: debbugs:12446
      0328b6de
  21. 19 Aug, 2012 1 commit
  22. 14 May, 2012 1 commit
    • Paul Eggert's avatar
      * unexaix.c: Port to more-recent AIX compilers. · dc44c39a
      Paul Eggert authored
      (report_error, report_error_1, make_hdr, copy_sym)
      (mark_x, adjust_lnnoptrs, unrelocate_symbols):
      Make arguments const char *, not char *, to avoid violations of C
      standard and to fix some AIX warnings reported by Gilles Pion.
      dc44c39a
  23. 09 May, 2012 1 commit
  24. 11 Jan, 2012 1 commit
  25. 05 Jan, 2012 1 commit
  26. 09 Sep, 2011 1 commit
  27. 17 Mar, 2011 2 commits
  28. 16 Mar, 2011 1 commit
    • Paul Eggert's avatar
      New file unexec.h, the (simple) interface for unexec. · ce701a33
      Paul Eggert authored
      * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
      (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
      Depend on unexec.h.
      * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
      * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
      * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
      ce701a33
  29. 25 Jan, 2011 1 commit
  30. 15 Jan, 2011 1 commit
  31. 02 Jan, 2011 1 commit
  32. 10 Oct, 2010 1 commit
  33. 03 Oct, 2010 1 commit
    • Dan Nicolaescu's avatar
      Remove unused arguments for unexec. · dd5ecd6b
      Dan Nicolaescu authored
      The third one is never used, and the last two are always passed as zero.
      * src/emacs.c (unexec): Add declaration.
      (Fdump_emacs): Only pass the first two arguments to unexec.
      Simplify #ifdef.
      * src/unexw32.c (unexec):
      * src/unexsol.c (unexec):
      * src/unexhp9k800.c (unexec):
      * src/unexcw.c (unexec): Remove the last 3 arguments, unused.
      * src/unexelf.c (unexec): Remove the last 3 arguments, unused.
      (find_section): Use const.
      * src/unexmacosx.c (unexec): Remove the last 3 arguments, unused.
      (unexec_error): Declare it NO_RETURN.
      * src/unexcoff.c (make_hdr): Assume bss_start is always zero, remove
      it as an argument, remove data_start and entry_address arguments, unused.
      (unexec): Remove bss_start, data_start and
      entry_address arguments.
      * src/unexaix.c (make_hdr): Assume bss_start is always zero, remove
      it as an argument, remove data_start and entry_address arguments, unused.
      (unexec): Remove bss_start, data_start and
      entry_address arguments.
      dd5ecd6b
  34. 08 Jul, 2010 1 commit
    • Dan Nicolaescu's avatar
      Simplify start_of_data, start_of_text and related code. · 313d9eb2
      Dan Nicolaescu authored
      * src/mem-limits.h: Remove !emacs and _LIBC conditional code.
      (start_of_data): Merge into start_of_data function.
      * src/sysdep.c (start_of_text): Remove.  Move simplified versions of
      it in the only users: src/unexaix.c and unexec.c.
      (read_input_waiting): Remove local declaration of quit_char.
      (start, etext): Remove declarations.
      (start_of_data): Merge with the version in mem-limits.h and move
      to vm-limits.c.
      * src/vm-limit.c (start_of_data): Merged and simplified version of the
      code formerly in mem-limits.h and sysdep.c.
      * src/unexec.c (start): New declaration, moved from sysdep.c.
      (start_of_text): Simplified version of the code formerly in sysdep.c.
      * unexaix.c (start_of_text): Simplified version of the code
      formerly in sysdep.c.
      * src/m/alpha.h (HAVE_TEXT_START): Remove.
      (TEXT_START): Move ...
      * src/unexalpha.c (TEXT_START): ... here.
      * src/s/hpux10-20.h (TEXT_START): Remove.
      * src/s/darwin.h (TEXT_START):
      * src/m/mips.h (TEXT_START):
      * src/m/macppc.h (HAVE_TEXT_START):
      * src/m/m68k.h (TEXT_START):
      * src/m/iris4d.h (TEXT_START):
      * src/m/intel386.h (TEXT_START):
      * src/m/ibmrs6000.h (TEXT_START):
      * src/m/ia64.h (HAVE_TEXT_START):
      * src/s/msdos.h (TEXT_START): Likewise.
      313d9eb2
  35. 02 Apr, 2010 1 commit
    • Dan Nicolaescu's avatar
      Remove extern errno declarations. · 42a2c622
      Dan Nicolaescu authored
      * xterm.c:
      * xrdb.c:
      * w32term.c:
      * unexec.c:
      * unexaix.c:
      * sysdep.c:
      * process.c:
      * lread.c:
      * keyboard.c:
      * floatfns.c:
      * filelock.c:
      * fileio.c:
      * emacs.c (main):
      * ecrt0.c:
      * dispnew.c:
      * callproc.c:
      * buffer.c: Remove errno extern declarations.
      * s/netbsd.h (NEED_ERRNO): Remove.
      
      * movemail.c:
      * etags.c:
      * emacsclient.c: Remove extern errno declarations.
      42a2c622
  36. 13 Jan, 2010 1 commit