[x265] [PATCH] getopt: grab an unambiguously LGPL version of getopt

Steve Borho steve at borho.org
Mon Oct 14 20:55:34 CEST 2013


# HG changeset patch
# User Steve Borho <steve at borho.org>
# Date 1381776922 18000
#      Mon Oct 14 13:55:22 2013 -0500
# Node ID b6cca1b1a9b700a8ffc316f3186dbf10bc1149cc
# Parent  abae6903e0af0d9940bb734ba34dff6928d72e61
getopt: grab an unambiguously LGPL version of getopt

Found at: https://github.com/Tietew/mediawiki-xml2sql/tree/master/getopt

The only change made was to move getopt_long() into getopt.c from getopt1.c

diff -r abae6903e0af -r b6cca1b1a9b7 source/CMakeLists.txt
--- a/source/CMakeLists.txt	Mon Oct 14 13:12:22 2013 -0500
+++ b/source/CMakeLists.txt	Mon Oct 14 13:55:22 2013 -0500
@@ -204,8 +204,8 @@
     file(GLOB OutputFiles output/*.cpp output/*.h)
     source_group(input FILES ${InputFiles})
     source_group(output FILES ${OutputFiles})
-    if (MSVC)
-        set_source_files_properties(compat/msvc/getopt.c PROPERTIES COMPILE_FLAGS "/wd4100")
+    if(MSVC)
+        set_source_files_properties(compat/msvc/getopt.c PROPERTIES COMPILE_FLAGS "/wd4100 /wd4131 -DHAVE_STRING_H=1")
     elseif(GCC)
         set_source_files_properties(compat/msvc/getopt.c PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter")
     endif()
diff -r abae6903e0af -r b6cca1b1a9b7 source/compat/msvc/LGPL.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/compat/msvc/LGPL.txt	Mon Oct 14 13:55:22 2013 -0500
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff -r abae6903e0af -r b6cca1b1a9b7 source/compat/msvc/getopt.c
--- a/source/compat/msvc/getopt.c	Mon Oct 14 13:12:22 2013 -0500
+++ b/source/compat/msvc/getopt.c	Mon Oct 14 13:55:22 2013 -0500
@@ -3,7 +3,7 @@
    "Keep this file name-space clean" means, talk to drepper at gnu.org
    before changing it!
    Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
-    Free Software Foundation, Inc.
+   	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,9 +18,9 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
-
+
 /* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
    Ditto for AIX 3.2 and <stdlib.h>.  */
 #ifndef _NO_PROTO
@@ -32,7 +32,6 @@
 #endif
 
 #if !defined __STDC__ || !__STDC__
-
 /* This is a separate conditional since some stdc systems
    reject `defined (const)'.  */
 # ifndef const
@@ -41,11 +40,6 @@
 #endif
 
 #include <stdio.h>
-#include <string.h>
-
-#if _MSC_VER
-#pragma warning(disable: 4131) // 'foo' : uses old-style decorator
-#endif
 
 /* Comment out all this code if we are using the GNU C Library, and are not
    actually compiling the library itself.  This code is part of the GNU C
@@ -65,15 +59,15 @@
 
 #ifndef ELIDE_CODE
 
+
 /* This needs to come after some library #include
    to get __GNU_LIBRARY__ defined.  */
-#ifdef  __GNU_LIBRARY__
-
+#ifdef	__GNU_LIBRARY__
 /* Don't include stdlib.h for non-GNU C libraries because some of them
    contain conflicting prototypes for getopt.  */
 # include <stdlib.h>
 # include <unistd.h>
-#endif  /* GNU C library.  */
+#endif	/* GNU C library.  */
 
 #ifdef VMS
 # include <unixlib.h>
@@ -84,13 +78,13 @@
 
 #ifndef _
 /* This is for other GNU distributions with internationalized messages.  */
-# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
+# if defined HAVE_LIBINTL_H || defined _LIBC
 #  include <libintl.h>
 #  ifndef _
-#   define _(msgid) gettext(msgid)
+#   define _(msgid)	gettext (msgid)
 #  endif
 # else
-#  define _(msgid)  (msgid)
+#  define _(msgid)	(msgid)
 # endif
 #endif
 
@@ -190,61 +184,62 @@
 
 static enum
 {
-    REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
 } ordering;
 
 /* Value of POSIXLY_CORRECT environment variable.  */
 static char *posixly_correct;
-
-#ifdef  __GNU_LIBRARY__
-
+
+#ifdef	__GNU_LIBRARY__
 /* We want to avoid inclusion of string.h with non-GNU libraries
    because there are many ways it can cause trouble.
    On some systems, it contains special magic macros that don't work
    in GCC.  */
 # include <string.h>
-# define my_index strchr
+# define my_index	strchr
 #else
 
+# if HAVE_STRING_H
+#  include <string.h>
+# else
+#  include <strings.h>
+# endif
+
 /* Avoid depending on library functions or files
    whose names are inconsistent.  */
 
 #ifndef getenv
-extern char *getenv();
+extern char *getenv ();
 #endif
 
 static char *
-my_index(str, chr)
-const char *str;
-int chr;
+my_index (str, chr)
+     const char *str;
+     int chr;
 {
-    while (*str)
+  while (*str)
     {
-        if (*str == chr)
-            return (char*)str;
-
-        str++;
+      if (*str == chr)
+	return (char *) str;
+      str++;
     }
-
-    return 0;
+  return 0;
 }
 
 /* If using GCC, we can safely declare strlen this way.
    If not using GCC, it is ok not to declare it.  */
 #ifdef __GNUC__
-
 /* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
    That was relevant to code that was here before.  */
 # if (!defined __STDC__ || !__STDC__) && !defined strlen
-
 /* gcc with -traditional declares the built-in strlen to return int,
    and has done so at least since version 2.4.5. -- rms.  */
-extern int strlen(const char *);
+extern int strlen (const char *);
 # endif /* not __STDC__ */
 #endif /* __GNUC__ */
 
 #endif /* not __GNU_LIBRARY__ */
-
+
 /* Handle permutation of arguments.  */
 
 /* Describe the part of ARGV that contains non-options that have
@@ -255,7 +250,6 @@
 static int last_nonopt;
 
 #ifdef _LIBC
-
 /* Stored original parameters.
    XXX This is no good solution.  We should rather copy the args so
    that we can compare them later.  But we must not use malloc(3).  */
@@ -275,18 +269,18 @@
 
 # ifdef USE_NONOPTION_FLAGS
 #  define SWAP_FLAGS(ch1, ch2) \
-    if (nonoption_flags_len > 0)                  \
-    {                       \
-        char __tmp = __getopt_nonoption_flags[ch1];           \
-        __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];        \
-        __getopt_nonoption_flags[ch2] = __tmp;              \
+  if (nonoption_flags_len > 0)						      \
+    {									      \
+      char __tmp = __getopt_nonoption_flags[ch1];			      \
+      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];	      \
+      __getopt_nonoption_flags[ch2] = __tmp;				      \
     }
 # else
 #  define SWAP_FLAGS(ch1, ch2)
 # endif
-#else /* !_LIBC */
+#else	/* !_LIBC */
 # define SWAP_FLAGS(ch1, ch2)
-#endif  /* _LIBC */
+#endif	/* _LIBC */
 
 /* Exchange two adjacent subsequences of ARGV.
    One subsequence is elements [first_nonopt,last_nonopt)
@@ -298,167 +292,160 @@
    the new indices of the non-options in ARGV after they are moved.  */
 
 #if defined __STDC__ && __STDC__
-static void exchange(char **);
+static void exchange (char **);
 #endif
 
 static void
-exchange(argv)
-char **argv;
+exchange (argv)
+     char **argv;
 {
-    int bottom = first_nonopt;
-    int middle = last_nonopt;
-    int top = optind;
-    char *tem;
+  int bottom = first_nonopt;
+  int middle = last_nonopt;
+  int top = optind;
+  char *tem;
 
-    /* Exchange the shorter segment with the far end of the longer segment.
-       That puts the shorter segment into the right place.
-       It leaves the longer segment in the right place overall,
-       but it consists of two parts that need to be swapped next.  */
+  /* Exchange the shorter segment with the far end of the longer segment.
+     That puts the shorter segment into the right place.
+     It leaves the longer segment in the right place overall,
+     but it consists of two parts that need to be swapped next.  */
 
 #if defined _LIBC && defined USE_NONOPTION_FLAGS
+  /* First make sure the handling of the `__getopt_nonoption_flags'
+     string can work normally.  Our top argument must be in the range
+     of the string.  */
+  if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
+    {
+      /* We must extend the array.  The user plays games with us and
+	 presents new arguments.  */
+      char *new_str = malloc (top + 1);
+      if (new_str == NULL)
+	nonoption_flags_len = nonoption_flags_max_len = 0;
+      else
+	{
+	  memset (__mempcpy (new_str, __getopt_nonoption_flags,
+			     nonoption_flags_max_len),
+		  '\0', top + 1 - nonoption_flags_max_len);
+	  nonoption_flags_max_len = top + 1;
+	  __getopt_nonoption_flags = new_str;
+	}
+    }
+#endif
 
-    /* First make sure the handling of the `__getopt_nonoption_flags'
-       string can work normally.  Our top argument must be in the range
-       of the string.  */
-    if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
+  while (top > middle && middle > bottom)
     {
-        /* We must extend the array.  The user plays games with us and
-     presents new arguments.  */
-        char *new_str = malloc(top + 1);
-        if (new_str == NULL)
-            nonoption_flags_len = nonoption_flags_max_len = 0;
-        else
-        {
-            memset(__mempcpy(new_str, __getopt_nonoption_flags,
-                             nonoption_flags_max_len),
-                   '\0', top + 1 - nonoption_flags_max_len);
-            nonoption_flags_max_len = top + 1;
-            __getopt_nonoption_flags = new_str;
-        }
+      if (top - middle > middle - bottom)
+	{
+	  /* Bottom segment is the short one.  */
+	  int len = middle - bottom;
+	  register int i;
+
+	  /* Swap it with the top part of the top segment.  */
+	  for (i = 0; i < len; i++)
+	    {
+	      tem = argv[bottom + i];
+	      argv[bottom + i] = argv[top - (middle - bottom) + i];
+	      argv[top - (middle - bottom) + i] = tem;
+	      SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
+	    }
+	  /* Exclude the moved bottom segment from further swapping.  */
+	  top -= len;
+	}
+      else
+	{
+	  /* Top segment is the short one.  */
+	  int len = top - middle;
+	  register int i;
+
+	  /* Swap it with the bottom part of the bottom segment.  */
+	  for (i = 0; i < len; i++)
+	    {
+	      tem = argv[bottom + i];
+	      argv[bottom + i] = argv[middle + i];
+	      argv[middle + i] = tem;
+	      SWAP_FLAGS (bottom + i, middle + i);
+	    }
+	  /* Exclude the moved top segment from further swapping.  */
+	  bottom += len;
+	}
     }
 
-#endif // if defined _LIBC && defined USE_NONOPTION_FLAGS
+  /* Update records for the slots the non-options now occupy.  */
 
-    while (top > middle && middle > bottom)
-    {
-        if (top - middle > middle - bottom)
-        {
-            /* Bottom segment is the short one.  */
-            int len = middle - bottom;
-            register int i;
-
-            /* Swap it with the top part of the top segment.  */
-            for (i = 0; i < len; i++)
-            {
-                tem = argv[bottom + i];
-                argv[bottom + i] = argv[top - (middle - bottom) + i];
-                argv[top - (middle - bottom) + i] = tem;
-                SWAP_FLAGS(bottom + i, top - (middle - bottom) + i);
-            }
-
-            /* Exclude the moved bottom segment from further swapping.  */
-            top -= len;
-        }
-        else
-        {
-            /* Top segment is the short one.  */
-            int len = top - middle;
-            register int i;
-
-            /* Swap it with the bottom part of the bottom segment.  */
-            for (i = 0; i < len; i++)
-            {
-                tem = argv[bottom + i];
-                argv[bottom + i] = argv[middle + i];
-                argv[middle + i] = tem;
-                SWAP_FLAGS(bottom + i, middle + i);
-            }
-
-            /* Exclude the moved top segment from further swapping.  */
-            bottom += len;
-        }
-    }
-
-    /* Update records for the slots the non-options now occupy.  */
-
-    first_nonopt += (optind - last_nonopt);
-    last_nonopt = optind;
+  first_nonopt += (optind - last_nonopt);
+  last_nonopt = optind;
 }
 
 /* Initialize the internal data when the first call is made.  */
 
 #if defined __STDC__ && __STDC__
-static const char *_getopt_initialize(int, char *const *, const char *);
+static const char *_getopt_initialize (int, char *const *, const char *);
 #endif
 static const char *
-_getopt_initialize(argc, argv, optstring)
-int argc;
-char *const *argv;
-const char *optstring;
+_getopt_initialize (argc, argv, optstring)
+     int argc;
+     char *const *argv;
+     const char *optstring;
 {
-    /* Start processing options with ARGV-element 1 (since ARGV-element 0
-       is the program name); the sequence of previously skipped
-       non-option ARGV-elements is empty.  */
+  /* Start processing options with ARGV-element 1 (since ARGV-element 0
+     is the program name); the sequence of previously skipped
+     non-option ARGV-elements is empty.  */
 
-    first_nonopt = last_nonopt = optind;
+  first_nonopt = last_nonopt = optind;
 
-    nextchar = NULL;
+  nextchar = NULL;
 
-    posixly_correct = getenv("POSIXLY_CORRECT");
+  posixly_correct = getenv ("POSIXLY_CORRECT");
 
-    /* Determine how to handle the ordering of options and nonoptions.  */
+  /* Determine how to handle the ordering of options and nonoptions.  */
 
-    if (optstring[0] == '-')
+  if (optstring[0] == '-')
     {
-        ordering = RETURN_IN_ORDER;
-        ++optstring;
+      ordering = RETURN_IN_ORDER;
+      ++optstring;
     }
-    else if (optstring[0] == '+')
+  else if (optstring[0] == '+')
     {
-        ordering = REQUIRE_ORDER;
-        ++optstring;
+      ordering = REQUIRE_ORDER;
+      ++optstring;
     }
-    else if (posixly_correct != NULL)
-        ordering = REQUIRE_ORDER;
-    else
-        ordering = PERMUTE;
+  else if (posixly_correct != NULL)
+    ordering = REQUIRE_ORDER;
+  else
+    ordering = PERMUTE;
 
 #if defined _LIBC && defined USE_NONOPTION_FLAGS
-    if (posixly_correct == NULL
-        && argc == __libc_argc && argv == __libc_argv)
+  if (posixly_correct == NULL
+      && argc == __libc_argc && argv == __libc_argv)
     {
-        if (nonoption_flags_max_len == 0)
-        {
-            if (__getopt_nonoption_flags == NULL
-                || __getopt_nonoption_flags[0] == '\0')
-                nonoption_flags_max_len = -1;
-            else
-            {
-                const char *orig_str = __getopt_nonoption_flags;
-                int len = nonoption_flags_max_len = strlen(orig_str);
-                if (nonoption_flags_max_len < argc)
-                    nonoption_flags_max_len = argc;
+      if (nonoption_flags_max_len == 0)
+	{
+	  if (__getopt_nonoption_flags == NULL
+	      || __getopt_nonoption_flags[0] == '\0')
+	    nonoption_flags_max_len = -1;
+	  else
+	    {
+	      const char *orig_str = __getopt_nonoption_flags;
+	      int len = nonoption_flags_max_len = strlen (orig_str);
+	      if (nonoption_flags_max_len < argc)
+		nonoption_flags_max_len = argc;
+	      __getopt_nonoption_flags =
+		(char *) malloc (nonoption_flags_max_len);
+	      if (__getopt_nonoption_flags == NULL)
+		nonoption_flags_max_len = -1;
+	      else
+		memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+			'\0', nonoption_flags_max_len - len);
+	    }
+	}
+      nonoption_flags_len = nonoption_flags_max_len;
+    }
+  else
+    nonoption_flags_len = 0;
+#endif
 
-                __getopt_nonoption_flags =
-                    (char*)malloc(nonoption_flags_max_len);
-                if (__getopt_nonoption_flags == NULL)
-                    nonoption_flags_max_len = -1;
-                else
-                    memset(__mempcpy(__getopt_nonoption_flags, orig_str, len),
-                           '\0', nonoption_flags_max_len - len);
-            }
-        }
-
-        nonoption_flags_len = nonoption_flags_max_len;
-    }
-    else
-        nonoption_flags_len = 0;
-
-#endif // if defined _LIBC && defined USE_NONOPTION_FLAGS
-
-    return optstring;
+  return optstring;
 }
-
+
 /* Scan elements of ARGV (whose length is ARGC) for option characters
    given in OPTSTRING.
 
@@ -516,610 +503,564 @@
    long-named options.  */
 
 int
-_getopt_internal(argc, argv, optstring, longopts, longind, long_only)
-int argc;
-char *const *argv;
-const char *optstring;
-const struct option *longopts;
+_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+     const struct option *longopts;
+     int *longind;
+     int long_only;
+{
+  int print_errors = opterr;
+  if (optstring[0] == ':')
+    print_errors = 0;
 
-int *longind;
-int long_only;
-{
-    int print_errors = opterr;
-    if (optstring[0] == ':')
-        print_errors = 0;
+  if (argc < 1)
+    return -1;
 
-    if (argc < 1)
-        return -1;
+  optarg = NULL;
 
-    optarg = NULL;
-
-    if (optind == 0 || !__getopt_initialized)
+  if (optind == 0 || !__getopt_initialized)
     {
-        if (optind == 0)
-            optind = 1; /* Don't scan ARGV[0], the program name.  */
-
-        optstring = _getopt_initialize(argc, argv, optstring);
-        __getopt_initialized = 1;
+      if (optind == 0)
+	optind = 1;	/* Don't scan ARGV[0], the program name.  */
+      optstring = _getopt_initialize (argc, argv, optstring);
+      __getopt_initialized = 1;
     }
 
-    /* Test whether ARGV[optind] points to a non-option argument.
-       Either it does not have option syntax, or there is an environment flag
-       from the shell indicating it is not an option.  The later information
-       is only used when the used in the GNU libc.  */
+  /* Test whether ARGV[optind] points to a non-option argument.
+     Either it does not have option syntax, or there is an environment flag
+     from the shell indicating it is not an option.  The later information
+     is only used when the used in the GNU libc.  */
 #if defined _LIBC && defined USE_NONOPTION_FLAGS
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'       \
-                      || (optind < nonoption_flags_len            \
-                          && __getopt_nonoption_flags[optind] == '1'))
+# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'	      \
+		      || (optind < nonoption_flags_len			      \
+			  && __getopt_nonoption_flags[optind] == '1'))
 #else
 # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
 #endif
 
-    if (nextchar == NULL || *nextchar == '\0')
+  if (nextchar == NULL || *nextchar == '\0')
     {
-        /* Advance to the next ARGV-element.  */
+      /* Advance to the next ARGV-element.  */
 
-        /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
-     moved back by the user (who may also have changed the arguments).  */
-        if (last_nonopt > optind)
-            last_nonopt = optind;
+      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
+	 moved back by the user (who may also have changed the arguments).  */
+      if (last_nonopt > optind)
+	last_nonopt = optind;
+      if (first_nonopt > optind)
+	first_nonopt = optind;
 
-        if (first_nonopt > optind)
-            first_nonopt = optind;
+      if (ordering == PERMUTE)
+	{
+	  /* If we have just processed some options following some non-options,
+	     exchange them so that the options come first.  */
 
-        if (ordering == PERMUTE)
-        {
-            /* If we have just processed some options following some non-options,
-               exchange them so that the options come first.  */
+	  if (first_nonopt != last_nonopt && last_nonopt != optind)
+	    exchange ((char **) argv);
+	  else if (last_nonopt != optind)
+	    first_nonopt = optind;
 
-            if (first_nonopt != last_nonopt && last_nonopt != optind)
-                exchange((char**)argv);
-            else if (last_nonopt != optind)
-                first_nonopt = optind;
+	  /* Skip any additional non-options
+	     and extend the range of non-options previously skipped.  */
 
-            /* Skip any additional non-options
-               and extend the range of non-options previously skipped.  */
+	  while (optind < argc && NONOPTION_P)
+	    optind++;
+	  last_nonopt = optind;
+	}
 
-            while (optind < argc && NONOPTION_P)
-            {
-                optind++;
-            }
+      /* The special ARGV-element `--' means premature end of options.
+	 Skip it like a null option,
+	 then exchange with previous non-options as if it were an option,
+	 then skip everything else like a non-option.  */
 
-            last_nonopt = optind;
-        }
+      if (optind != argc && !strcmp (argv[optind], "--"))
+	{
+	  optind++;
 
-        /* The special ARGV-element `--' means premature end of options.
-     Skip it like a null option,
-     then exchange with previous non-options as if it were an option,
-     then skip everything else like a non-option.  */
+	  if (first_nonopt != last_nonopt && last_nonopt != optind)
+	    exchange ((char **) argv);
+	  else if (first_nonopt == last_nonopt)
+	    first_nonopt = optind;
+	  last_nonopt = argc;
 
-        if (optind != argc && !strcmp(argv[optind], "--"))
-        {
-            optind++;
+	  optind = argc;
+	}
 
-            if (first_nonopt != last_nonopt && last_nonopt != optind)
-                exchange((char**)argv);
-            else if (first_nonopt == last_nonopt)
-                first_nonopt = optind;
+      /* If we have done all the ARGV-elements, stop the scan
+	 and back over any non-options that we skipped and permuted.  */
 
-            last_nonopt = argc;
+      if (optind == argc)
+	{
+	  /* Set the next-arg-index to point at the non-options
+	     that we previously skipped, so the caller will digest them.  */
+	  if (first_nonopt != last_nonopt)
+	    optind = first_nonopt;
+	  return -1;
+	}
 
-            optind = argc;
-        }
+      /* If we have come to a non-option and did not permute it,
+	 either stop the scan or describe it to the caller and pass it by.  */
 
-        /* If we have done all the ARGV-elements, stop the scan
-     and back over any non-options that we skipped and permuted.  */
+      if (NONOPTION_P)
+	{
+	  if (ordering == REQUIRE_ORDER)
+	    return -1;
+	  optarg = argv[optind++];
+	  return 1;
+	}
 
-        if (optind == argc)
-        {
-            /* Set the next-arg-index to point at the non-options
-               that we previously skipped, so the caller will digest them.  */
-            if (first_nonopt != last_nonopt)
-                optind = first_nonopt;
+      /* We have found another option-ARGV-element.
+	 Skip the initial punctuation.  */
 
-            return -1;
-        }
-
-        /* If we have come to a non-option and did not permute it,
-     either stop the scan or describe it to the caller and pass it by.  */
-
-        if (NONOPTION_P)
-        {
-            if (ordering == REQUIRE_ORDER)
-                return -1;
-
-            optarg = argv[optind++];
-            return 1;
-        }
-
-        /* We have found another option-ARGV-element.
-     Skip the initial punctuation.  */
-
-        nextchar = (argv[optind] + 1
-                    + (longopts != NULL && argv[optind][1] == '-'));
+      nextchar = (argv[optind] + 1
+		  + (longopts != NULL && argv[optind][1] == '-'));
     }
 
-    /* Decode the current option-ARGV-element.  */
+  /* Decode the current option-ARGV-element.  */
 
-    /* Check whether the ARGV-element is a long option.
+  /* Check whether the ARGV-element is a long option.
 
-       If long_only and the ARGV-element has the form "-f", where f is
-       a valid short option, don't consider it an abbreviated form of
-       a long option that starts with f.  Otherwise there would be no
-       way to give the -f short option.
+     If long_only and the ARGV-element has the form "-f", where f is
+     a valid short option, don't consider it an abbreviated form of
+     a long option that starts with f.  Otherwise there would be no
+     way to give the -f short option.
 
-       On the other hand, if there's a long option "fubar" and
-       the ARGV-element is "-fu", do consider that an abbreviation of
-       the long option, just like "--fu", and not "-f" with arg "u".
+     On the other hand, if there's a long option "fubar" and
+     the ARGV-element is "-fu", do consider that an abbreviation of
+     the long option, just like "--fu", and not "-f" with arg "u".
 
-       This distinction seems to be the most useful approach.  */
+     This distinction seems to be the most useful approach.  */
 
-    if (longopts != NULL
-        && (argv[optind][1] == '-'
-            || (long_only && (argv[optind][2] || !my_index(optstring, argv[optind][1])))))
+  if (longopts != NULL
+      && (argv[optind][1] == '-'
+	  || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
     {
-        char *nameend;
-        const struct option *p;
+      char *nameend;
+      const struct option *p;
+      const struct option *pfound = NULL;
+      int exact = 0;
+      int ambig = 0;
+      int indfound = -1;
+      int option_index;
 
-        const struct option *pfound = NULL;
-        int exact = 0;
-        int ambig = 0;
-        int indfound = -1;
-        int option_index;
+      for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
+	/* Do nothing.  */ ;
 
-        for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
-        {
-            /* Do nothing.  */ }
+      /* Test all long options for either exact match
+	 or abbreviated matches.  */
+      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+	if (!strncmp (p->name, nextchar, nameend - nextchar))
+	  {
+	    if ((unsigned int) (nameend - nextchar)
+		== (unsigned int) strlen (p->name))
+	      {
+		/* Exact match found.  */
+		pfound = p;
+		indfound = option_index;
+		exact = 1;
+		break;
+	      }
+	    else if (pfound == NULL)
+	      {
+		/* First nonexact match found.  */
+		pfound = p;
+		indfound = option_index;
+	      }
+	    else if (long_only
+		     || pfound->has_arg != p->has_arg
+		     || pfound->flag != p->flag
+		     || pfound->val != p->val)
+	      /* Second or later nonexact match found.  */
+	      ambig = 1;
+	  }
 
-        /* Test all long options for either exact match
-     or abbreviated matches.  */
-        for (p = longopts, option_index = 0; p->name; p++, option_index++)
-        {
-            if (!strncmp(p->name, nextchar, nameend - nextchar))
-            {
-                if ((unsigned int)(nameend - nextchar)
-                    == (unsigned int)strlen(p->name))
-                {
-                    /* Exact match found.  */
-                    pfound = p;
-                    indfound = option_index;
-                    exact = 1;
-                    break;
-                }
-                else if (pfound == NULL)
-                {
-                    /* First nonexact match found.  */
-                    pfound = p;
-                    indfound = option_index;
-                }
-                else if (long_only
-                         || pfound->has_arg != p->has_arg
-                         || pfound->flag != p->flag
-                         || pfound->val != p->val)
-                    /* Second or later nonexact match found.  */
-                    ambig = 1;
-            }
-        }
+      if (ambig && !exact)
+	{
+	  if (print_errors)
+	    fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+		     argv[0], argv[optind]);
+	  nextchar += strlen (nextchar);
+	  optind++;
+	  optopt = 0;
+	  return '?';
+	}
 
-        if (ambig && !exact)
-        {
-            if (print_errors)
-                fprintf(stderr, _("%s: option `%s' is ambiguous\n"),
-                        argv[0], argv[optind]);
+      if (pfound != NULL)
+	{
+	  option_index = indfound;
+	  optind++;
+	  if (*nameend)
+	    {
+	      /* Don't test has_arg with >, because some C compilers don't
+		 allow it to be used on enums.  */
+	      if (pfound->has_arg)
+		optarg = nameend + 1;
+	      else
+		{
+		  if (print_errors)
+		    {
+		      if (argv[optind - 1][1] == '-')
+			/* --option */
+			fprintf (stderr,
+				 _("%s: option `--%s' doesn't allow an argument\n"),
+				 argv[0], pfound->name);
+		      else
+			/* +option or -option */
+			fprintf (stderr,
+				 _("%s: option `%c%s' doesn't allow an argument\n"),
+				 argv[0], argv[optind - 1][0], pfound->name);
+		    }
 
-            nextchar += strlen(nextchar);
-            optind++;
-            optopt = 0;
-            return '?';
-        }
+		  nextchar += strlen (nextchar);
 
-        if (pfound != NULL)
-        {
-            option_index = indfound;
-            optind++;
-            if (*nameend)
-            {
-                /* Don't test has_arg with >, because some C compilers don't
-             allow it to be used on enums.  */
-                if (pfound->has_arg)
-                    optarg = nameend + 1;
-                else
-                {
-                    if (print_errors)
-                    {
-                        if (argv[optind - 1][1] == '-')
-                            /* --option */
-                            fprintf(stderr,
-                                    _("%s: option `--%s' doesn't allow an argument\n"),
-                                    argv[0], pfound->name);
-                        else
-                            /* +option or -option */
-                            fprintf(stderr,
-                                    _("%s: option `%c%s' doesn't allow an argument\n"),
-                                    argv[0], argv[optind - 1][0], pfound->name);
-                    }
+		  optopt = pfound->val;
+		  return '?';
+		}
+	    }
+	  else if (pfound->has_arg == 1)
+	    {
+	      if (optind < argc)
+		optarg = argv[optind++];
+	      else
+		{
+		  if (print_errors)
+		    fprintf (stderr,
+			   _("%s: option `%s' requires an argument\n"),
+			   argv[0], argv[optind - 1]);
+		  nextchar += strlen (nextchar);
+		  optopt = pfound->val;
+		  return optstring[0] == ':' ? ':' : '?';
+		}
+	    }
+	  nextchar += strlen (nextchar);
+	  if (longind != NULL)
+	    *longind = option_index;
+	  if (pfound->flag)
+	    {
+	      *(pfound->flag) = pfound->val;
+	      return 0;
+	    }
+	  return pfound->val;
+	}
 
-                    nextchar += strlen(nextchar);
-
-                    optopt = pfound->val;
-                    return '?';
-                }
-            }
-            else if (pfound->has_arg == 1)
-            {
-                if (optind < argc)
-                    optarg = argv[optind++];
-                else
-                {
-                    if (print_errors)
-                        fprintf(stderr,
-                                _("%s: option `%s' requires an argument\n"),
-                                argv[0], argv[optind - 1]);
-
-                    nextchar += strlen(nextchar);
-                    optopt = pfound->val;
-                    return optstring[0] == ':' ? ':' : '?';
-                }
-            }
-
-            nextchar += strlen(nextchar);
-            if (longind != NULL)
-                *longind = option_index;
-
-            if (pfound->flag)
-            {
-                *(pfound->flag) = pfound->val;
-                return 0;
-            }
-
-            return pfound->val;
-        }
-
-        /* Can't find it as a long option.  If this is not getopt_long_only,
-     or the option starts with '--' or is not a valid short
-     option, then it's an error.
-     Otherwise interpret it as a short option.  */
-        if (!long_only || argv[optind][1] == '-'
-            || my_index(optstring, *nextchar) == NULL)
-        {
-            if (print_errors)
-            {
-                if (argv[optind][1] == '-')
-                    /* --option */
-                    fprintf(stderr, _("%s: unrecognized option `--%s'\n"),
-                            argv[0], nextchar);
-                else
-                    /* +option or -option */
-                    fprintf(stderr, _("%s: unrecognized option `%c%s'\n"),
-                            argv[0], argv[optind][0], nextchar);
-            }
-
-            nextchar = (char*)"";
-            optind++;
-            optopt = 0;
-            return '?';
-        }
+      /* Can't find it as a long option.  If this is not getopt_long_only,
+	 or the option starts with '--' or is not a valid short
+	 option, then it's an error.
+	 Otherwise interpret it as a short option.  */
+      if (!long_only || argv[optind][1] == '-'
+	  || my_index (optstring, *nextchar) == NULL)
+	{
+	  if (print_errors)
+	    {
+	      if (argv[optind][1] == '-')
+		/* --option */
+		fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+			 argv[0], nextchar);
+	      else
+		/* +option or -option */
+		fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+			 argv[0], argv[optind][0], nextchar);
+	    }
+	  nextchar = (char *) "";
+	  optind++;
+	  optopt = 0;
+	  return '?';
+	}
     }
 
-    /* Look at and handle the next short option-character.  */
+  /* Look at and handle the next short option-character.  */
 
-    {
-        char c = *nextchar++;
-        char *temp = my_index(optstring, c);
+  {
+    char c = *nextchar++;
+    char *temp = my_index (optstring, c);
 
-        /* Increment `optind' when we start to process its last character.  */
-        if (*nextchar == '\0')
-            ++optind;
+    /* Increment `optind' when we start to process its last character.  */
+    if (*nextchar == '\0')
+      ++optind;
 
-        if (temp == NULL || c == ':')
-        {
-            if (print_errors)
-            {
-                if (posixly_correct)
-                    /* 1003.2 specifies the format of this message.  */
-                    fprintf(stderr, _("%s: illegal option -- %c\n"),
-                            argv[0], c);
-                else
-                    fprintf(stderr, _("%s: invalid option -- %c\n"),
-                            argv[0], c);
-            }
+    if (temp == NULL || c == ':')
+      {
+	if (print_errors)
+	  {
+	    if (posixly_correct)
+	      /* 1003.2 specifies the format of this message.  */
+	      fprintf (stderr, _("%s: illegal option -- %c\n"),
+		       argv[0], c);
+	    else
+	      fprintf (stderr, _("%s: invalid option -- %c\n"),
+		       argv[0], c);
+	  }
+	optopt = c;
+	return '?';
+      }
+    /* Convenience. Treat POSIX -W foo same as long option --foo */
+    if (temp[0] == 'W' && temp[1] == ';')
+      {
+	char *nameend;
+	const struct option *p;
+	const struct option *pfound = NULL;
+	int exact = 0;
+	int ambig = 0;
+	int indfound = 0;
+	int option_index;
 
-            optopt = c;
-            return '?';
-        }
+	/* This is an option that requires an argument.  */
+	if (*nextchar != '\0')
+	  {
+	    optarg = nextchar;
+	    /* If we end this ARGV-element by taking the rest as an arg,
+	       we must advance to the next element now.  */
+	    optind++;
+	  }
+	else if (optind == argc)
+	  {
+	    if (print_errors)
+	      {
+		/* 1003.2 specifies the format of this message.  */
+		fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+			 argv[0], c);
+	      }
+	    optopt = c;
+	    if (optstring[0] == ':')
+	      c = ':';
+	    else
+	      c = '?';
+	    return c;
+	  }
+	else
+	  /* We already incremented `optind' once;
+	     increment it again when taking next ARGV-elt as argument.  */
+	  optarg = argv[optind++];
 
-        /* Convenience. Treat POSIX -W foo same as long option --foo */
-        if (temp[0] == 'W' && temp[1] == ';')
-        {
-            char *nameend;
-            const struct option *p;
+	/* optarg is now the argument, see if it's in the
+	   table of longopts.  */
 
-            const struct option *pfound = NULL;
-            int exact = 0;
-            int ambig = 0;
-            int indfound = 0;
-            int option_index;
+	for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
+	  /* Do nothing.  */ ;
 
-            /* This is an option that requires an argument.  */
-            if (*nextchar != '\0')
-            {
-                optarg = nextchar;
+	/* Test all long options for either exact match
+	   or abbreviated matches.  */
+	for (p = longopts, option_index = 0; p->name; p++, option_index++)
+	  if (!strncmp (p->name, nextchar, nameend - nextchar))
+	    {
+	      if ((unsigned int) (nameend - nextchar) == strlen (p->name))
+		{
+		  /* Exact match found.  */
+		  pfound = p;
+		  indfound = option_index;
+		  exact = 1;
+		  break;
+		}
+	      else if (pfound == NULL)
+		{
+		  /* First nonexact match found.  */
+		  pfound = p;
+		  indfound = option_index;
+		}
+	      else
+		/* Second or later nonexact match found.  */
+		ambig = 1;
+	    }
+	if (ambig && !exact)
+	  {
+	    if (print_errors)
+	      fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+		       argv[0], argv[optind]);
+	    nextchar += strlen (nextchar);
+	    optind++;
+	    return '?';
+	  }
+	if (pfound != NULL)
+	  {
+	    option_index = indfound;
+	    if (*nameend)
+	      {
+		/* Don't test has_arg with >, because some C compilers don't
+		   allow it to be used on enums.  */
+		if (pfound->has_arg)
+		  optarg = nameend + 1;
+		else
+		  {
+		    if (print_errors)
+		      fprintf (stderr, _("\
+%s: option `-W %s' doesn't allow an argument\n"),
+			       argv[0], pfound->name);
 
-                /* If we end this ARGV-element by taking the rest as an arg,
-                   we must advance to the next element now.  */
-                optind++;
-            }
-            else if (optind == argc)
-            {
-                if (print_errors)
-                {
-                    /* 1003.2 specifies the format of this message.  */
-                    fprintf(stderr, _("%s: option requires an argument -- %c\n"),
-                            argv[0], c);
-                }
-
-                optopt = c;
-                if (optstring[0] == ':')
-                    c = ':';
-                else
-                    c = '?';
-
-                return c;
-            }
-            else
-                /* We already incremented `optind' once;
-                   increment it again when taking next ARGV-elt as argument.  */
-                optarg = argv[optind++];
-
-            /* optarg is now the argument, see if it's in the
-               table of longopts.  */
-
-            for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
-            {
-                /* Do nothing.  */ }
-
-            /* Test all long options for either exact match
-               or abbreviated matches.  */
-            for (p = longopts, option_index = 0; p->name; p++, option_index++)
-            {
-                if (!strncmp(p->name, nextchar, nameend - nextchar))
-                {
-                    if ((unsigned int)(nameend - nextchar) == strlen(p->name))
-                    {
-                        /* Exact match found.  */
-                        pfound = p;
-                        indfound = option_index;
-                        exact = 1;
-                        break;
-                    }
-                    else if (pfound == NULL)
-                    {
-                        /* First nonexact match found.  */
-                        pfound = p;
-                        indfound = option_index;
-                    }
-                    else
-                        /* Second or later nonexact match found.  */
-                        ambig = 1;
-                }
-            }
-
-            if (ambig && !exact)
-            {
-                if (print_errors)
-                    fprintf(stderr, _("%s: option `-W %s' is ambiguous\n"),
-                            argv[0], argv[optind]);
-
-                nextchar += strlen(nextchar);
-                optind++;
-                return '?';
-            }
-
-            if (pfound != NULL)
-            {
-                option_index = indfound;
-                if (*nameend)
-                {
-                    /* Don't test has_arg with >, because some C compilers don't
-                       allow it to be used on enums.  */
-                    if (pfound->has_arg)
-                        optarg = nameend + 1;
-                    else
-                    {
-                        if (print_errors)
-                            fprintf(stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
-                                    argv[0], pfound->name);
-
-                        nextchar += strlen(nextchar);
-                        return '?';
-                    }
-                }
-                else if (pfound->has_arg == 1)
-                {
-                    if (optind < argc)
-                        optarg = argv[optind++];
-                    else
-                    {
-                        if (print_errors)
-                            fprintf(stderr,
-                                    _("%s: option `%s' requires an argument\n"),
-                                    argv[0], argv[optind - 1]);
-
-                        nextchar += strlen(nextchar);
-                        return optstring[0] == ':' ? ':' : '?';
-                    }
-                }
-
-                nextchar += strlen(nextchar);
-                if (longind != NULL)
-                    *longind = option_index;
-
-                if (pfound->flag)
-                {
-                    *(pfound->flag) = pfound->val;
-                    return 0;
-                }
-
-                return pfound->val;
-            }
-
-            nextchar = NULL;
-            return 'W'; /* Let the application handle it.   */
-        }
-
-        if (temp[1] == ':')
-        {
-            if (temp[2] == ':')
-            {
-                /* This is an option that accepts an argument optionally.  */
-                if (*nextchar != '\0')
-                {
-                    optarg = nextchar;
-                    optind++;
-                }
-                else
-                    optarg = NULL;
-
-                nextchar = NULL;
-            }
-            else
-            {
-                /* This is an option that requires an argument.  */
-                if (*nextchar != '\0')
-                {
-                    optarg = nextchar;
-
-                    /* If we end this ARGV-element by taking the rest as an arg,
-                       we must advance to the next element now.  */
-                    optind++;
-                }
-                else if (optind == argc)
-                {
-                    if (print_errors)
-                    {
-                        /* 1003.2 specifies the format of this message.  */
-                        fprintf(stderr,
-                                _("%s: option requires an argument -- %c\n"),
-                                argv[0], c);
-                    }
-
-                    optopt = c;
-                    if (optstring[0] == ':')
-                        c = ':';
-                    else
-                        c = '?';
-                }
-                else
-                    /* We already incremented `optind' once;
-                 increment it again when taking next ARGV-elt as argument.  */
-                    optarg = argv[optind++];
-
-                nextchar = NULL;
-            }
-        }
-
-        return c;
-    }
+		    nextchar += strlen (nextchar);
+		    return '?';
+		  }
+	      }
+	    else if (pfound->has_arg == 1)
+	      {
+		if (optind < argc)
+		  optarg = argv[optind++];
+		else
+		  {
+		    if (print_errors)
+		      fprintf (stderr,
+			       _("%s: option `%s' requires an argument\n"),
+			       argv[0], argv[optind - 1]);
+		    nextchar += strlen (nextchar);
+		    return optstring[0] == ':' ? ':' : '?';
+		  }
+	      }
+	    nextchar += strlen (nextchar);
+	    if (longind != NULL)
+	      *longind = option_index;
+	    if (pfound->flag)
+	      {
+		*(pfound->flag) = pfound->val;
+		return 0;
+	      }
+	    return pfound->val;
+	  }
+	  nextchar = NULL;
+	  return 'W';	/* Let the application handle it.   */
+      }
+    if (temp[1] == ':')
+      {
+	if (temp[2] == ':')
+	  {
+	    /* This is an option that accepts an argument optionally.  */
+	    if (*nextchar != '\0')
+	      {
+		optarg = nextchar;
+		optind++;
+	      }
+	    else
+	      optarg = NULL;
+	    nextchar = NULL;
+	  }
+	else
+	  {
+	    /* This is an option that requires an argument.  */
+	    if (*nextchar != '\0')
+	      {
+		optarg = nextchar;
+		/* If we end this ARGV-element by taking the rest as an arg,
+		   we must advance to the next element now.  */
+		optind++;
+	      }
+	    else if (optind == argc)
+	      {
+		if (print_errors)
+		  {
+		    /* 1003.2 specifies the format of this message.  */
+		    fprintf (stderr,
+			     _("%s: option requires an argument -- %c\n"),
+			     argv[0], c);
+		  }
+		optopt = c;
+		if (optstring[0] == ':')
+		  c = ':';
+		else
+		  c = '?';
+	      }
+	    else
+	      /* We already incremented `optind' once;
+		 increment it again when taking next ARGV-elt as argument.  */
+	      optarg = argv[optind++];
+	    nextchar = NULL;
+	  }
+      }
+    return c;
+  }
 }
 
 int
-getopt(argc, argv, optstring)
-int argc;
-char *const *argv;
-const char *optstring;
+getopt (argc, argv, optstring)
+     int argc;
+     char *const *argv;
+     const char *optstring;
 {
-    return _getopt_internal(argc, argv, optstring,
-                            (const struct option*)0,
-                            (int*)0,
-                            0);
+  return _getopt_internal (argc, argv, optstring,
+			   (const struct option *) 0,
+			   (int *) 0,
+			   0);
 }
 
-int getopt_long(argc, argv, optstring, long_options, opt_index)
-int argc;
-char *const *argv;
-const char *optstring;
-const struct option *long_options;
+int
+getopt_long (argc, argv, options, long_options, opt_index)
+    int argc;
+    char *const *argv;
+    const char *options;
+    const struct option *long_options;
+int *opt_index;
+{
+    return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
+}
 
-int *opt_index;
-{
-    return _getopt_internal(argc, argv, optstring, long_options, opt_index, 0);
-}
-
-#endif  /* Not ELIDE_CODE.  */
-
+#endif	/* Not ELIDE_CODE.  */
+
 #ifdef TEST
 
 /* Compile with -DTEST to make an executable for use in testing
    the above definition of `getopt'.  */
 
 int
-main(argc, argv)
-int argc;
-char **argv;
+main (argc, argv)
+     int argc;
+     char **argv;
 {
-    int c;
-    int digit_optind = 0;
+  int c;
+  int digit_optind = 0;
 
-    while (1)
+  while (1)
     {
-        int this_option_optind = optind ? optind : 1;
+      int this_option_optind = optind ? optind : 1;
 
-        c = getopt(argc, argv, "abc:d:0123456789");
-        if (c == -1)
-            break;
+      c = getopt (argc, argv, "abc:d:0123456789");
+      if (c == -1)
+	break;
 
-        switch (c)
-        {
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-            if (digit_optind != 0 && digit_optind != this_option_optind)
-                printf("digits occur in two different argv-elements.\n");
+      switch (c)
+	{
+	case '0':
+	case '1':
+	case '2':
+	case '3':
+	case '4':
+	case '5':
+	case '6':
+	case '7':
+	case '8':
+	case '9':
+	  if (digit_optind != 0 && digit_optind != this_option_optind)
+	    printf ("digits occur in two different argv-elements.\n");
+	  digit_optind = this_option_optind;
+	  printf ("option %c\n", c);
+	  break;
 
-            digit_optind = this_option_optind;
-            printf("option %c\n", c);
-            break;
+	case 'a':
+	  printf ("option a\n");
+	  break;
 
-        case 'a':
-            printf("option a\n");
-            break;
+	case 'b':
+	  printf ("option b\n");
+	  break;
 
-        case 'b':
-            printf("option b\n");
-            break;
+	case 'c':
+	  printf ("option c with value `%s'\n", optarg);
+	  break;
 
-        case 'c':
-            printf("option c with value `%s'\n", optarg);
-            break;
+	case '?':
+	  break;
 
-        case '?':
-            break;
-
-        default:
-            printf("?? getopt returned character code 0%o ??\n", c);
-        }
+	default:
+	  printf ("?? getopt returned character code 0%o ??\n", c);
+	}
     }
 
-    if (optind < argc)
+  if (optind < argc)
     {
-        printf("non-option ARGV-elements: ");
-        while (optind < argc)
-        {
-            printf("%s ", argv[optind++]);
-        }
-
-        printf("\n");
+      printf ("non-option ARGV-elements: ");
+      while (optind < argc)
+	printf ("%s ", argv[optind++]);
+      printf ("\n");
     }
 
-    exit(0);
+  exit (0);
 }
 
 #endif /* TEST */
diff -r abae6903e0af -r b6cca1b1a9b7 source/compat/msvc/getopt.h
--- a/source/compat/msvc/getopt.h	Mon Oct 14 13:12:22 2013 -0500
+++ b/source/compat/msvc/getopt.h	Mon Oct 14 13:55:22 2013 -0500
@@ -2,22 +2,22 @@
    Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
-#ifndef X265_GETOPT_H
-#define X265_GETOPT_H
+#ifndef _GETOPT_H
 
 #ifndef __need_getopt
 # define _GETOPT_H 1
@@ -34,7 +34,7 @@
 # include <ctype.h>
 #endif
 
-#ifdef  __cplusplus
+#ifdef	__cplusplus
 extern "C" {
 #endif
 
@@ -70,7 +70,6 @@
 extern int optopt;
 
 #ifndef __need_getopt
-
 /* Describe the long-named options requested by the application.
    The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
    of `struct option' terminated by an element containing a name which is
@@ -79,7 +78,7 @@
    The field `has_arg' is:
    no_argument		(or 0) if the option does not take an argument,
    required_argument	(or 1) if the option requires an argument,
-   optional_argument    (or 2) if the option takes an optional argument.
+   optional_argument 	(or 2) if the option takes an optional argument.
 
    If the field `flag' is not NULL, it points to a variable that is set
    to the value given in the field `val' when the option is found, but
@@ -95,24 +94,24 @@
 struct option
 {
 # if (defined __STDC__ && __STDC__) || defined __cplusplus
-    const char *name;
+  const char *name;
 # else
-    char *name;
+  char *name;
 # endif
-
-    /* has_arg can't be an enum because some compilers complain about
-       type mismatches in all the code that assumes it is an int.  */
-    int has_arg;
-    int *flag;
-    int val;
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
 };
 
 /* Names for the values of the `has_arg' field of `struct option'.  */
 
-# define no_argument    0
-# define required_argument  1
-# define optional_argument  2
-#endif  /* need getopt */
+# define no_argument		0
+# define required_argument	1
+# define optional_argument	2
+#endif	/* need getopt */
+
 
 /* Get definitions and prototypes for functions to process the
    arguments in ARGV (ARGC of them, minus the program name) for
@@ -140,43 +139,42 @@
 
 #if (defined __STDC__ && __STDC__) || defined __cplusplus
 # ifdef __GNU_LIBRARY__
-
 /* Many other libraries have conflicting prototypes for getopt, with
    differences in the consts, in stdlib.h.  To avoid compilation
    errors, only prototype getopt for the GNU C library.  */
-extern int getopt(int __argc, char *const *__argv, const char *__shortopts);
+extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
 # else /* not __GNU_LIBRARY__ */
-extern int getopt();
+extern int getopt ();
 # endif /* __GNU_LIBRARY__ */
 
 # ifndef __need_getopt
-extern int getopt_long(int __argc, char *const *__argv, const char *__shortopts,
-                       const struct option *__longopts, int *__longind);
-extern int getopt_long_only(int __argc, char *const *__argv,
-                            const char *__shortopts,
-                            const struct option *__longopts, int *__longind);
+extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
+		        const struct option *__longopts, int *__longind);
+extern int getopt_long_only (int __argc, char *const *__argv,
+			     const char *__shortopts,
+		             const struct option *__longopts, int *__longind);
 
 /* Internal only.  Users should not call this directly.  */
-extern int _getopt_internal(int __argc, char *const *__argv,
-                            const char *__shortopts,
-                            const struct option *__longopts, int *__longind,
-                            int __long_only);
-# endif // ifndef __need_getopt
+extern int _getopt_internal (int __argc, char *const *__argv,
+			     const char *__shortopts,
+		             const struct option *__longopts, int *__longind,
+			     int __long_only);
+# endif
 #else /* not __STDC__ */
-extern int getopt();
+extern int getopt ();
 # ifndef __need_getopt
-extern int getopt_long();
-extern int getopt_long_only();
+extern int getopt_long ();
+extern int getopt_long_only ();
 
-extern int _getopt_internal();
+extern int _getopt_internal ();
 # endif
 #endif /* __STDC__ */
 
-#ifdef  __cplusplus
+#ifdef	__cplusplus
 }
 #endif
 
 /* Make sure we later can get all the definitions and declarations.  */
 #undef __need_getopt
 
-#endif // ifndef X265_GETOPT_H
+#endif /* getopt.h */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x265.patch
Type: text/x-patch
Size: 82097 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131014/c72a8c16/attachment-0001.bin>


More information about the x265-devel mailing list