jpayne@68: This is autosprintf.info, produced by makeinfo version 6.8 from jpayne@68: autosprintf.texi. jpayne@68: jpayne@68: Copyright (C) 2002-2003, 2006-2007, 2018-2019 Free Software jpayne@68: Foundation, Inc. jpayne@68: jpayne@68: This manual is free documentation. It is dually licensed under the jpayne@68: GNU FDL and the GNU GPL. This means that you can redistribute this jpayne@68: manual under either of these two licenses, at your choice. jpayne@68: jpayne@68: This manual is covered by the GNU FDL. Permission is granted to copy, jpayne@68: distribute and/or modify this document under the terms of the GNU Free jpayne@68: Documentation License (FDL), either version 1.2 of the License, or (at jpayne@68: your option) any later version published by the Free Software Foundation jpayne@68: (FSF); with no Invariant Sections, with no Front-Cover Text, and with no jpayne@68: Back-Cover Texts. A copy of the license is at jpayne@68: . jpayne@68: jpayne@68: This manual is covered by the GNU GPL. You can redistribute it and/or jpayne@68: modify it under the terms of the GNU General Public License (GPL), jpayne@68: either version 2 of the License, or (at your option) any later version jpayne@68: published by the Free Software Foundation (FSF). A copy of the license jpayne@68: is at . jpayne@68: INFO-DIR-SECTION C++ libraries jpayne@68: START-INFO-DIR-ENTRY jpayne@68: * autosprintf: (autosprintf). Support for printf format strings in C++. jpayne@68: END-INFO-DIR-ENTRY jpayne@68: jpayne@68: This file provides documentation for GNU 'autosprintf' library. jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: Top, Next: Introduction, Up: (dir) jpayne@68: jpayne@68: GNU autosprintf jpayne@68: *************** jpayne@68: jpayne@68: This manual documents the GNU autosprintf class, version 1.0. jpayne@68: jpayne@68: * Menu: jpayne@68: jpayne@68: * Introduction:: Introduction jpayne@68: * Class autosprintf:: The 'autosprintf' class jpayne@68: * Using autosprintf:: Using 'autosprintf' in own programs jpayne@68: * Licenses:: jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: Introduction, Next: Class autosprintf, Prev: Top, Up: Top jpayne@68: jpayne@68: 1 Introduction jpayne@68: ************** jpayne@68: jpayne@68: This package makes the C formatted output routines ('fprintf' et al.) jpayne@68: usable in C++ programs, for use with the '' strings and the jpayne@68: '' streams. jpayne@68: jpayne@68: It allows to write code like jpayne@68: jpayne@68: cerr << autosprintf ("syntax error in %s:%d: %s", filename, line, errstring); jpayne@68: jpayne@68: instead of jpayne@68: jpayne@68: cerr << "syntax error in " << filename << ":" << line << ": " << errstring; jpayne@68: jpayne@68: The benefits of the autosprintf syntax are: jpayne@68: jpayne@68: * It reuses the standard POSIX printf facility. Easy migration from jpayne@68: C to C++. jpayne@68: jpayne@68: * English sentences are kept together. jpayne@68: jpayne@68: * It makes internationalization possible. Internationalization jpayne@68: requires format strings, because in some cases the translator needs jpayne@68: to change the order of a sentence, and more generally it is easier jpayne@68: for the translator to work with a single string for a sentence than jpayne@68: with multiple string pieces. jpayne@68: jpayne@68: * It reduces the risk of programming errors due to forgotten state in jpayne@68: the output stream (e.g. 'cout << hex;' not followed by 'cout << jpayne@68: dec;'). jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: Class autosprintf, Next: Using autosprintf, Prev: Introduction, Up: Top jpayne@68: jpayne@68: 2 The 'autosprintf' class jpayne@68: ************************* jpayne@68: jpayne@68: An instance of class 'autosprintf' just contains a string with the jpayne@68: formatted output result. Such an instance is usually allocated as an jpayne@68: automatic storage variable, i.e. on the stack, not with 'new' on the jpayne@68: heap. jpayne@68: jpayne@68: The constructor 'autosprintf (const char *format, ...)' takes a jpayne@68: format string and additional arguments, like the C function 'printf'. jpayne@68: jpayne@68: Conversions to 'char *' and 'std::string' are defined that return the jpayne@68: encapsulated string. The conversion to 'char *' returns a freshly jpayne@68: allocated copy of the encapsulated string; it needs to be freed using jpayne@68: 'delete[]'. The conversion to 'std::string' returns a copy of the jpayne@68: encapsulated string, with automatic memory management. jpayne@68: jpayne@68: The destructor '~autosprintf ()' destroys the encapsulated string. jpayne@68: jpayne@68: An 'operator <<' is provided that outputs the encapsulated string to jpayne@68: the given 'ostream'. jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: Using autosprintf, Next: Licenses, Prev: Class autosprintf, Up: Top jpayne@68: jpayne@68: 3 Using 'autosprintf' in own programs jpayne@68: ************************************* jpayne@68: jpayne@68: To use the 'autosprintf' class in your programs, you need to add jpayne@68: jpayne@68: #include "autosprintf.h" jpayne@68: using gnu::autosprintf; jpayne@68: jpayne@68: to your source code. The include file defines the class 'autosprintf', jpayne@68: in a namespace called 'gnu'. The 'using' statement makes it possible to jpayne@68: use the class without the (otherwise natural) 'gnu::' prefix. jpayne@68: jpayne@68: When linking your program, you need to link with 'libasprintf', jpayne@68: because that's where the class is defined. In projects using GNU jpayne@68: 'autoconf', this means adding 'AC_LIB_LINKFLAGS([asprintf])' to jpayne@68: 'configure.in' or 'configure.ac', and using the @LIBASPRINTF@ Makefile jpayne@68: variable that it provides. jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: Licenses, Prev: Using autosprintf, Up: Top jpayne@68: jpayne@68: Appendix A Licenses jpayne@68: ******************* jpayne@68: jpayne@68: The files of this package are covered by the licenses indicated in jpayne@68: each particular file or directory. Here is a summary: jpayne@68: jpayne@68: * The 'libasprintf' library is covered by the GNU Lesser General jpayne@68: Public License (LGPL), either version 2.1 of the License, or (at jpayne@68: your option) any later version published by the Free Software jpayne@68: Foundation (FSF). A copy of the license is included in *note GNU jpayne@68: LGPL::. jpayne@68: jpayne@68: * This manual is free documentation. It is dually licensed under the jpayne@68: GNU FDL and the GNU GPL. This means that you can redistribute this jpayne@68: manual under either of these two licenses, at your choice. jpayne@68: This manual is covered by the GNU FDL. Permission is granted to jpayne@68: copy, distribute and/or modify this document under the terms of the jpayne@68: GNU Free Documentation License (FDL), either version 1.2 of the jpayne@68: License, or (at your option) any later version published by the jpayne@68: Free Software Foundation (FSF); with no Invariant Sections, with no jpayne@68: Front-Cover Text, and with no Back-Cover Texts. A copy of the jpayne@68: license is included in *note GNU FDL::. jpayne@68: This manual is covered by the GNU GPL. You can redistribute it jpayne@68: and/or modify it under the terms of the GNU General Public License jpayne@68: (GPL), either version 2 of the License, or (at your option) any jpayne@68: later version published by the Free Software Foundation (FSF). A jpayne@68: copy of the license is included in *note GNU GPL::. jpayne@68: jpayne@68: * Menu: jpayne@68: jpayne@68: * GNU LGPL:: GNU Lesser General Public License jpayne@68: * GNU GPL:: GNU General Public License jpayne@68: * GNU FDL:: GNU Free Documentation License jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: GNU LGPL, Next: GNU GPL, Up: Licenses jpayne@68: jpayne@68: A.1 GNU LESSER GENERAL PUBLIC LICENSE jpayne@68: ===================================== jpayne@68: jpayne@68: Version 2.1, February 1999 jpayne@68: jpayne@68: Copyright (C) 1991, 1999 Free Software Foundation, Inc. jpayne@68: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA jpayne@68: jpayne@68: Everyone is permitted to copy and distribute verbatim copies jpayne@68: of this license document, but changing it is not allowed. jpayne@68: jpayne@68: [This is the first released version of the Lesser GPL. It also counts jpayne@68: as the successor of the GNU Library Public License, version 2, hence the jpayne@68: version number 2.1.] jpayne@68: jpayne@68: Preamble jpayne@68: -------- jpayne@68: jpayne@68: The licenses for most software are designed to take away your freedom jpayne@68: to share and change it. By contrast, the GNU General Public Licenses jpayne@68: are intended to guarantee your freedom to share and change free jpayne@68: software--to make sure the software is free for all its users. jpayne@68: jpayne@68: This license, the Lesser General Public License, applies to some jpayne@68: specially designated software--typically libraries--of the Free Software jpayne@68: Foundation and other authors who decide to use it. You can use it too, jpayne@68: but we suggest you first think carefully about whether this license or jpayne@68: the ordinary General Public License is the better strategy to use in any jpayne@68: particular case, based on the explanations below. jpayne@68: jpayne@68: When we speak of free software, we are referring to freedom of use, jpayne@68: not price. Our General Public Licenses are designed to make sure that jpayne@68: you have the freedom to distribute copies of free software (and charge jpayne@68: for this service if you wish); that you receive source code or can get jpayne@68: it if you want it; that you can change the software and use pieces of it jpayne@68: in new free programs; and that you are informed that you can do these jpayne@68: things. jpayne@68: jpayne@68: To protect your rights, we need to make restrictions that forbid jpayne@68: distributors to deny you these rights or to ask you to surrender these jpayne@68: rights. These restrictions translate to certain responsibilities for jpayne@68: you if you distribute copies of the library or if you modify it. jpayne@68: jpayne@68: For example, if you distribute copies of the library, whether gratis jpayne@68: or for a fee, you must give the recipients all the rights that we gave jpayne@68: you. You must make sure that they, too, receive or can get the source jpayne@68: code. If you link other code with the library, you must provide jpayne@68: complete object files to the recipients, so that they can relink them jpayne@68: with the library after making changes to the library and recompiling it. jpayne@68: And you must show them these terms so they know their rights. jpayne@68: jpayne@68: We protect your rights with a two-step method: (1) we copyright the jpayne@68: library, and (2) we offer you this license, which gives you legal jpayne@68: permission to copy, distribute and/or modify the library. jpayne@68: jpayne@68: To protect each distributor, we want to make it very clear that there jpayne@68: is no warranty for the free library. Also, if the library is modified jpayne@68: by someone else and passed on, the recipients should know that what they jpayne@68: have is not the original version, so that the original author's jpayne@68: reputation will not be affected by problems that might be introduced by jpayne@68: others. jpayne@68: jpayne@68: Finally, software patents pose a constant threat to the existence of jpayne@68: any free program. We wish to make sure that a company cannot jpayne@68: effectively restrict the users of a free program by obtaining a jpayne@68: restrictive license from a patent holder. Therefore, we insist that any jpayne@68: patent license obtained for a version of the library must be consistent jpayne@68: with the full freedom of use specified in this license. jpayne@68: jpayne@68: Most GNU software, including some libraries, is covered by the jpayne@68: ordinary GNU General Public License. This license, the GNU Lesser jpayne@68: General Public License, applies to certain designated libraries, and is jpayne@68: quite different from the ordinary General Public License. We use this jpayne@68: license for certain libraries in order to permit linking those libraries jpayne@68: into non-free programs. jpayne@68: jpayne@68: When a program is linked with a library, whether statically or using jpayne@68: a shared library, the combination of the two is legally speaking a jpayne@68: combined work, a derivative of the original library. The ordinary jpayne@68: General Public License therefore permits such linking only if the entire jpayne@68: combination fits its criteria of freedom. The Lesser General Public jpayne@68: License permits more lax criteria for linking other code with the jpayne@68: library. jpayne@68: jpayne@68: We call this license the "Lesser" General Public License because it jpayne@68: does _Less_ to protect the user's freedom than the ordinary General jpayne@68: Public License. It also provides other free software developers Less of jpayne@68: an advantage over competing non-free programs. These disadvantages are jpayne@68: the reason we use the ordinary General Public License for many jpayne@68: libraries. However, the Lesser license provides advantages in certain jpayne@68: special circumstances. jpayne@68: jpayne@68: For example, on rare occasions, there may be a special need to jpayne@68: encourage the widest possible use of a certain library, so that it jpayne@68: becomes a de-facto standard. To achieve this, non-free programs must be jpayne@68: allowed to use the library. A more frequent case is that a free library jpayne@68: does the same job as widely used non-free libraries. In this case, jpayne@68: there is little to gain by limiting the free library to free software jpayne@68: only, so we use the Lesser General Public License. jpayne@68: jpayne@68: In other cases, permission to use a particular library in non-free jpayne@68: programs enables a greater number of people to use a large body of free jpayne@68: software. For example, permission to use the GNU C Library in non-free jpayne@68: programs enables many more people to use the whole GNU operating system, jpayne@68: as well as its variant, the GNU/Linux operating system. jpayne@68: jpayne@68: Although the Lesser General Public License is Less protective of the jpayne@68: users' freedom, it does ensure that the user of a program that is linked jpayne@68: with the Library has the freedom and the wherewithal to run that program jpayne@68: using a modified version of the Library. jpayne@68: jpayne@68: The precise terms and conditions for copying, distribution and jpayne@68: modification follow. Pay close attention to the difference between a jpayne@68: "work based on the library" and a "work that uses the library". The jpayne@68: former contains code derived from the library, whereas the latter must jpayne@68: be combined with the library in order to run. jpayne@68: jpayne@68: TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION jpayne@68: --------------------------------------------------------------- jpayne@68: jpayne@68: 0. This License Agreement applies to any software library or other jpayne@68: program which contains a notice placed by the copyright holder or jpayne@68: other authorized party saying it may be distributed under the terms jpayne@68: of this Lesser General Public License (also called "this License"). jpayne@68: Each licensee is addressed as "you". jpayne@68: jpayne@68: A "library" means a collection of software functions and/or data jpayne@68: prepared so as to be conveniently linked with application programs jpayne@68: (which use some of those functions and data) to form executables. jpayne@68: jpayne@68: The "Library", below, refers to any such software library or work jpayne@68: which has been distributed under these terms. A "work based on the jpayne@68: Library" means either the Library or any derivative work under jpayne@68: copyright law: that is to say, a work containing the Library or a jpayne@68: portion of it, either verbatim or with modifications and/or jpayne@68: translated straightforwardly into another language. (Hereinafter, jpayne@68: translation is included without limitation in the term jpayne@68: "modification".) jpayne@68: jpayne@68: "Source code" for a work means the preferred form of the work for jpayne@68: making modifications to it. For a library, complete source code jpayne@68: means all the source code for all modules it contains, plus any jpayne@68: associated interface definition files, plus the scripts used to jpayne@68: control compilation and installation of the library. jpayne@68: jpayne@68: Activities other than copying, distribution and modification are jpayne@68: not covered by this License; they are outside its scope. The act jpayne@68: of running a program using the Library is not restricted, and jpayne@68: output from such a program is covered only if its contents jpayne@68: constitute a work based on the Library (independent of the use of jpayne@68: the Library in a tool for writing it). Whether that is true jpayne@68: depends on what the Library does and what the program that uses the jpayne@68: Library does. jpayne@68: jpayne@68: 1. You may copy and distribute verbatim copies of the Library's jpayne@68: complete source code as you receive it, in any medium, provided jpayne@68: that you conspicuously and appropriately publish on each copy an jpayne@68: appropriate copyright notice and disclaimer of warranty; keep jpayne@68: intact all the notices that refer to this License and to the jpayne@68: absence of any warranty; and distribute a copy of this License jpayne@68: along with the Library. jpayne@68: jpayne@68: You may charge a fee for the physical act of transferring a copy, jpayne@68: and you may at your option offer warranty protection in exchange jpayne@68: for a fee. jpayne@68: jpayne@68: 2. You may modify your copy or copies of the Library or any portion of jpayne@68: it, thus forming a work based on the Library, and copy and jpayne@68: distribute such modifications or work under the terms of Section 1 jpayne@68: above, provided that you also meet all of these conditions: jpayne@68: jpayne@68: a. The modified work must itself be a software library. jpayne@68: jpayne@68: b. You must cause the files modified to carry prominent notices jpayne@68: stating that you changed the files and the date of any change. jpayne@68: jpayne@68: c. You must cause the whole of the work to be licensed at no jpayne@68: charge to all third parties under the terms of this License. jpayne@68: jpayne@68: d. If a facility in the modified Library refers to a function or jpayne@68: a table of data to be supplied by an application program that jpayne@68: uses the facility, other than as an argument passed when the jpayne@68: facility is invoked, then you must make a good faith effort to jpayne@68: ensure that, in the event an application does not supply such jpayne@68: function or table, the facility still operates, and performs jpayne@68: whatever part of its purpose remains meaningful. jpayne@68: jpayne@68: (For example, a function in a library to compute square roots jpayne@68: has a purpose that is entirely well-defined independent of the jpayne@68: application. Therefore, Subsection 2d requires that any jpayne@68: application-supplied function or table used by this function jpayne@68: must be optional: if the application does not supply it, the jpayne@68: square root function must still compute square roots.) jpayne@68: jpayne@68: These requirements apply to the modified work as a whole. If jpayne@68: identifiable sections of that work are not derived from the jpayne@68: Library, and can be reasonably considered independent and separate jpayne@68: works in themselves, then this License, and its terms, do not apply jpayne@68: to those sections when you distribute them as separate works. But jpayne@68: when you distribute the same sections as part of a whole which is a jpayne@68: work based on the Library, the distribution of the whole must be on jpayne@68: the terms of this License, whose permissions for other licensees jpayne@68: extend to the entire whole, and thus to each and every part jpayne@68: regardless of who wrote it. jpayne@68: jpayne@68: Thus, it is not the intent of this section to claim rights or jpayne@68: contest your rights to work written entirely by you; rather, the jpayne@68: intent is to exercise the right to control the distribution of jpayne@68: derivative or collective works based on the Library. jpayne@68: jpayne@68: In addition, mere aggregation of another work not based on the jpayne@68: Library with the Library (or with a work based on the Library) on a jpayne@68: volume of a storage or distribution medium does not bring the other jpayne@68: work under the scope of this License. jpayne@68: jpayne@68: 3. You may opt to apply the terms of the ordinary GNU General Public jpayne@68: License instead of this License to a given copy of the Library. To jpayne@68: do this, you must alter all the notices that refer to this License, jpayne@68: so that they refer to the ordinary GNU General Public License, jpayne@68: version 2, instead of to this License. (If a newer version than jpayne@68: version 2 of the ordinary GNU General Public License has appeared, jpayne@68: then you can specify that version instead if you wish.) Do not jpayne@68: make any other change in these notices. jpayne@68: jpayne@68: Once this change is made in a given copy, it is irreversible for jpayne@68: that copy, so the ordinary GNU General Public License applies to jpayne@68: all subsequent copies and derivative works made from that copy. jpayne@68: jpayne@68: This option is useful when you wish to copy part of the code of the jpayne@68: Library into a program that is not a library. jpayne@68: jpayne@68: 4. You may copy and distribute the Library (or a portion or derivative jpayne@68: of it, under Section 2) in object code or executable form under the jpayne@68: terms of Sections 1 and 2 above provided that you accompany it with jpayne@68: the complete corresponding machine-readable source code, which must jpayne@68: be distributed under the terms of Sections 1 and 2 above on a jpayne@68: medium customarily used for software interchange. jpayne@68: jpayne@68: If distribution of object code is made by offering access to copy jpayne@68: from a designated place, then offering equivalent access to copy jpayne@68: the source code from the same place satisfies the requirement to jpayne@68: distribute the source code, even though third parties are not jpayne@68: compelled to copy the source along with the object code. jpayne@68: jpayne@68: 5. A program that contains no derivative of any portion of the jpayne@68: Library, but is designed to work with the Library by being compiled jpayne@68: or linked with it, is called a "work that uses the Library". Such jpayne@68: a work, in isolation, is not a derivative work of the Library, and jpayne@68: therefore falls outside the scope of this License. jpayne@68: jpayne@68: However, linking a "work that uses the Library" with the Library jpayne@68: creates an executable that is a derivative of the Library (because jpayne@68: it contains portions of the Library), rather than a "work that uses jpayne@68: the library". The executable is therefore covered by this License. jpayne@68: Section 6 states terms for distribution of such executables. jpayne@68: jpayne@68: When a "work that uses the Library" uses material from a header jpayne@68: file that is part of the Library, the object code for the work may jpayne@68: be a derivative work of the Library even though the source code is jpayne@68: not. Whether this is true is especially significant if the work jpayne@68: can be linked without the Library, or if the work is itself a jpayne@68: library. The threshold for this to be true is not precisely jpayne@68: defined by law. jpayne@68: jpayne@68: If such an object file uses only numerical parameters, data jpayne@68: structure layouts and accessors, and small macros and small inline jpayne@68: functions (ten lines or less in length), then the use of the object jpayne@68: file is unrestricted, regardless of whether it is legally a jpayne@68: derivative work. (Executables containing this object code plus jpayne@68: portions of the Library will still fall under Section 6.) jpayne@68: jpayne@68: Otherwise, if the work is a derivative of the Library, you may jpayne@68: distribute the object code for the work under the terms of Section jpayne@68: 6. Any executables containing that work also fall under Section 6, jpayne@68: whether or not they are linked directly with the Library itself. jpayne@68: jpayne@68: 6. As an exception to the Sections above, you may also combine or link jpayne@68: a "work that uses the Library" with the Library to produce a work jpayne@68: containing portions of the Library, and distribute that work under jpayne@68: terms of your choice, provided that the terms permit modification jpayne@68: of the work for the customer's own use and reverse engineering for jpayne@68: debugging such modifications. jpayne@68: jpayne@68: You must give prominent notice with each copy of the work that the jpayne@68: Library is used in it and that the Library and its use are covered jpayne@68: by this License. You must supply a copy of this License. If the jpayne@68: work during execution displays copyright notices, you must include jpayne@68: the copyright notice for the Library among them, as well as a jpayne@68: reference directing the user to the copy of this License. Also, jpayne@68: you must do one of these things: jpayne@68: jpayne@68: a. Accompany the work with the complete corresponding jpayne@68: machine-readable source code for the Library including jpayne@68: whatever changes were used in the work (which must be jpayne@68: distributed under Sections 1 and 2 above); and, if the work is jpayne@68: an executable linked with the Library, with the complete jpayne@68: machine-readable "work that uses the Library", as object code jpayne@68: and/or source code, so that the user can modify the Library jpayne@68: and then relink to produce a modified executable containing jpayne@68: the modified Library. (It is understood that the user who jpayne@68: changes the contents of definitions files in the Library will jpayne@68: not necessarily be able to recompile the application to use jpayne@68: the modified definitions.) jpayne@68: jpayne@68: b. Use a suitable shared library mechanism for linking with the jpayne@68: Library. A suitable mechanism is one that (1) uses at run jpayne@68: time a copy of the library already present on the user's jpayne@68: computer system, rather than copying library functions into jpayne@68: the executable, and (2) will operate properly with a modified jpayne@68: version of the library, if the user installs one, as long as jpayne@68: the modified version is interface-compatible with the version jpayne@68: that the work was made with. jpayne@68: jpayne@68: c. Accompany the work with a written offer, valid for at least jpayne@68: three years, to give the same user the materials specified in jpayne@68: Subsection 6a, above, for a charge no more than the cost of jpayne@68: performing this distribution. jpayne@68: jpayne@68: d. If distribution of the work is made by offering access to copy jpayne@68: from a designated place, offer equivalent access to copy the jpayne@68: above specified materials from the same place. jpayne@68: jpayne@68: e. Verify that the user has already received a copy of these jpayne@68: materials or that you have already sent this user a copy. jpayne@68: jpayne@68: For an executable, the required form of the "work that uses the jpayne@68: Library" must include any data and utility programs needed for jpayne@68: reproducing the executable from it. However, as a special jpayne@68: exception, the materials to be distributed need not include jpayne@68: anything that is normally distributed (in either source or binary jpayne@68: form) with the major components (compiler, kernel, and so on) of jpayne@68: the operating system on which the executable runs, unless that jpayne@68: component itself accompanies the executable. jpayne@68: jpayne@68: It may happen that this requirement contradicts the license jpayne@68: restrictions of other proprietary libraries that do not normally jpayne@68: accompany the operating system. Such a contradiction means you jpayne@68: cannot use both them and the Library together in an executable that jpayne@68: you distribute. jpayne@68: jpayne@68: 7. You may place library facilities that are a work based on the jpayne@68: Library side-by-side in a single library together with other jpayne@68: library facilities not covered by this License, and distribute such jpayne@68: a combined library, provided that the separate distribution of the jpayne@68: work based on the Library and of the other library facilities is jpayne@68: otherwise permitted, and provided that you do these two things: jpayne@68: jpayne@68: a. Accompany the combined library with a copy of the same work jpayne@68: based on the Library, uncombined with any other library jpayne@68: facilities. This must be distributed under the terms of the jpayne@68: Sections above. jpayne@68: jpayne@68: b. Give prominent notice with the combined library of the fact jpayne@68: that part of it is a work based on the Library, and explaining jpayne@68: where to find the accompanying uncombined form of the same jpayne@68: work. jpayne@68: jpayne@68: 8. You may not copy, modify, sublicense, link with, or distribute the jpayne@68: Library except as expressly provided under this License. Any jpayne@68: attempt otherwise to copy, modify, sublicense, link with, or jpayne@68: distribute the Library is void, and will automatically terminate jpayne@68: your rights under this License. However, parties who have received jpayne@68: copies, or rights, from you under this License will not have their jpayne@68: licenses terminated so long as such parties remain in full jpayne@68: compliance. jpayne@68: jpayne@68: 9. You are not required to accept this License, since you have not jpayne@68: signed it. However, nothing else grants you permission to modify jpayne@68: or distribute the Library or its derivative works. These actions jpayne@68: are prohibited by law if you do not accept this License. jpayne@68: Therefore, by modifying or distributing the Library (or any work jpayne@68: based on the Library), you indicate your acceptance of this License jpayne@68: to do so, and all its terms and conditions for copying, jpayne@68: distributing or modifying the Library or works based on it. jpayne@68: jpayne@68: 10. Each time you redistribute the Library (or any work based on the jpayne@68: Library), the recipient automatically receives a license from the jpayne@68: original licensor to copy, distribute, link with or modify the jpayne@68: Library subject to these terms and conditions. You may not impose jpayne@68: any further restrictions on the recipients' exercise of the rights jpayne@68: granted herein. You are not responsible for enforcing compliance jpayne@68: by third parties with this License. jpayne@68: jpayne@68: 11. If, as a consequence of a court judgment or allegation of patent jpayne@68: infringement or for any other reason (not limited to patent jpayne@68: issues), conditions are imposed on you (whether by court order, jpayne@68: agreement or otherwise) that contradict the conditions of this jpayne@68: License, they do not excuse you from the conditions of this jpayne@68: License. If you cannot distribute so as to satisfy simultaneously jpayne@68: your obligations under this License and any other pertinent jpayne@68: obligations, then as a consequence you may not distribute the jpayne@68: Library at all. For example, if a patent license would not permit jpayne@68: royalty-free redistribution of the Library by all those who receive jpayne@68: copies directly or indirectly through you, then the only way you jpayne@68: could satisfy both it and this License would be to refrain entirely jpayne@68: from distribution of the Library. jpayne@68: jpayne@68: If any portion of this section is held invalid or unenforceable jpayne@68: under any particular circumstance, the balance of the section is jpayne@68: intended to apply, and the section as a whole is intended to apply jpayne@68: in other circumstances. jpayne@68: jpayne@68: It is not the purpose of this section to induce you to infringe any jpayne@68: patents or other property right claims or to contest validity of jpayne@68: any such claims; this section has the sole purpose of protecting jpayne@68: the integrity of the free software distribution system which is jpayne@68: implemented by public license practices. Many people have made jpayne@68: generous contributions to the wide range of software distributed jpayne@68: through that system in reliance on consistent application of that jpayne@68: system; it is up to the author/donor to decide if he or she is jpayne@68: willing to distribute software through any other system and a jpayne@68: licensee cannot impose that choice. jpayne@68: jpayne@68: This section is intended to make thoroughly clear what is believed jpayne@68: to be a consequence of the rest of this License. jpayne@68: jpayne@68: 12. If the distribution and/or use of the Library is restricted in jpayne@68: certain countries either by patents or by copyrighted interfaces, jpayne@68: the original copyright holder who places the Library under this jpayne@68: License may add an explicit geographical distribution limitation jpayne@68: excluding those countries, so that distribution is permitted only jpayne@68: in or among countries not thus excluded. In such case, this jpayne@68: License incorporates the limitation as if written in the body of jpayne@68: this License. jpayne@68: jpayne@68: 13. The Free Software Foundation may publish revised and/or new jpayne@68: versions of the Lesser General Public License from time to time. jpayne@68: Such new versions will be similar in spirit to the present version, jpayne@68: but may differ in detail to address new problems or concerns. jpayne@68: jpayne@68: Each version is given a distinguishing version number. If the jpayne@68: Library specifies a version number of this License which applies to jpayne@68: it and "any later version", you have the option of following the jpayne@68: terms and conditions either of that version or of any later version jpayne@68: published by the Free Software Foundation. If the Library does not jpayne@68: specify a license version number, you may choose any version ever jpayne@68: published by the Free Software Foundation. jpayne@68: jpayne@68: 14. If you wish to incorporate parts of the Library into other free jpayne@68: programs whose distribution conditions are incompatible with these, jpayne@68: write to the author to ask for permission. For software which is jpayne@68: copyrighted by the Free Software Foundation, write to the Free jpayne@68: Software Foundation; we sometimes make exceptions for this. Our jpayne@68: decision will be guided by the two goals of preserving the free jpayne@68: status of all derivatives of our free software and of promoting the jpayne@68: sharing and reuse of software generally. jpayne@68: jpayne@68: NO WARRANTY jpayne@68: jpayne@68: 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO jpayne@68: WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE jpayne@68: LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS jpayne@68: AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY jpayne@68: OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT jpayne@68: LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS jpayne@68: FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND jpayne@68: PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE jpayne@68: DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR jpayne@68: OR CORRECTION. jpayne@68: jpayne@68: 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN jpayne@68: WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY jpayne@68: MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE jpayne@68: LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, jpayne@68: INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR jpayne@68: INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF jpayne@68: DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU jpayne@68: OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY jpayne@68: OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN jpayne@68: ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. jpayne@68: jpayne@68: END OF TERMS AND CONDITIONS jpayne@68: --------------------------- jpayne@68: jpayne@68: How to Apply These Terms to Your New Libraries jpayne@68: ---------------------------------------------- jpayne@68: jpayne@68: If you develop a new library, and you want it to be of the greatest jpayne@68: possible use to the public, we recommend making it free software that jpayne@68: everyone can redistribute and change. You can do so by permitting jpayne@68: redistribution under these terms (or, alternatively, under the terms of jpayne@68: the ordinary General Public License). jpayne@68: jpayne@68: To apply these terms, attach the following notices to the library. jpayne@68: It is safest to attach them to the start of each source file to most jpayne@68: effectively convey the exclusion of warranty; and each file should have jpayne@68: at least the "copyright" line and a pointer to where the full notice is jpayne@68: found. jpayne@68: jpayne@68: ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES. jpayne@68: Copyright (C) YEAR NAME OF AUTHOR jpayne@68: jpayne@68: This library is free software; you can redistribute it and/or modify it jpayne@68: under the terms of the GNU Lesser General Public License as published by jpayne@68: the Free Software Foundation; either version 2.1 of the License, or (at jpayne@68: your option) any later version. jpayne@68: jpayne@68: This library is distributed in the hope that it will be useful, but jpayne@68: WITHOUT ANY WARRANTY; without even the implied warranty of jpayne@68: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU jpayne@68: Lesser General Public License for more details. jpayne@68: jpayne@68: You should have received a copy of the GNU Lesser General Public jpayne@68: License along with this library; if not, write to the Free Software jpayne@68: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, jpayne@68: USA. jpayne@68: jpayne@68: Also add information on how to contact you by electronic and paper jpayne@68: mail. jpayne@68: jpayne@68: You should also get your employer (if you work as a programmer) or jpayne@68: your school, if any, to sign a "copyright disclaimer" for the library, jpayne@68: if necessary. Here is a sample; alter the names: jpayne@68: jpayne@68: Yoyodyne, Inc., hereby disclaims all copyright interest in the library jpayne@68: `Frob' (a library for tweaking knobs) written by James Random Hacker. jpayne@68: jpayne@68: SIGNATURE OF TY COON, 1 April 1990 jpayne@68: Ty Coon, President of Vice jpayne@68: jpayne@68: That's all there is to it! jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: GNU GPL, Next: GNU FDL, Prev: GNU LGPL, Up: Licenses jpayne@68: jpayne@68: A.2 GNU GENERAL PUBLIC LICENSE jpayne@68: ============================== jpayne@68: jpayne@68: Version 2, June 1991 jpayne@68: jpayne@68: Copyright (C) 1989, 1991 Free Software Foundation, Inc. jpayne@68: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA jpayne@68: jpayne@68: Everyone is permitted to copy and distribute verbatim copies jpayne@68: of this license document, but changing it is not allowed. jpayne@68: jpayne@68: Preamble jpayne@68: ======== jpayne@68: jpayne@68: The licenses for most software are designed to take away your freedom jpayne@68: to share and change it. By contrast, the GNU General Public License is jpayne@68: intended to guarantee your freedom to share and change free software--to jpayne@68: make sure the software is free for all its users. This General Public jpayne@68: License applies to most of the Free Software Foundation's software and jpayne@68: to any other program whose authors commit to using it. (Some other Free jpayne@68: Software Foundation software is covered by the GNU Lesser General Public jpayne@68: License instead.) You can apply it to your programs, too. jpayne@68: jpayne@68: When we speak of free software, we are referring to freedom, not jpayne@68: price. Our General Public Licenses are designed to make sure that you jpayne@68: have the freedom to distribute copies of free software (and charge for jpayne@68: this service if you wish), that you receive source code or can get it if jpayne@68: you want it, that you can change the software or use pieces of it in new jpayne@68: free programs; and that you know you can do these things. jpayne@68: jpayne@68: To protect your rights, we need to make restrictions that forbid jpayne@68: anyone to deny you these rights or to ask you to surrender the rights. jpayne@68: These restrictions translate to certain responsibilities for you if you jpayne@68: distribute copies of the software, or if you modify it. jpayne@68: jpayne@68: For example, if you distribute copies of such a program, whether jpayne@68: gratis or for a fee, you must give the recipients all the rights that jpayne@68: you have. You must make sure that they, too, receive or can get the jpayne@68: source code. And you must show them these terms so they know their jpayne@68: rights. jpayne@68: jpayne@68: We protect your rights with two steps: (1) copyright the software, jpayne@68: and (2) offer you this license which gives you legal permission to copy, jpayne@68: distribute and/or modify the software. jpayne@68: jpayne@68: Also, for each author's protection and ours, we want to make certain jpayne@68: that everyone understands that there is no warranty for this free jpayne@68: software. If the software is modified by someone else and passed on, we jpayne@68: want its recipients to know that what they have is not the original, so jpayne@68: that any problems introduced by others will not reflect on the original jpayne@68: authors' reputations. jpayne@68: jpayne@68: Finally, any free program is threatened constantly by software jpayne@68: patents. We wish to avoid the danger that redistributors of a free jpayne@68: program will individually obtain patent licenses, in effect making the jpayne@68: program proprietary. To prevent this, we have made it clear that any jpayne@68: patent must be licensed for everyone's free use or not licensed at all. jpayne@68: jpayne@68: The precise terms and conditions for copying, distribution and jpayne@68: modification follow. jpayne@68: jpayne@68: TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION jpayne@68: =============================================================== jpayne@68: jpayne@68: 0. This License applies to any program or other work which contains a jpayne@68: notice placed by the copyright holder saying it may be distributed jpayne@68: under the terms of this General Public License. The "Program", jpayne@68: below, refers to any such program or work, and a "work based on the jpayne@68: Program" means either the Program or any derivative work under jpayne@68: copyright law: that is to say, a work containing the Program or a jpayne@68: portion of it, either verbatim or with modifications and/or jpayne@68: translated into another language. (Hereinafter, translation is jpayne@68: included without limitation in the term "modification".) Each jpayne@68: licensee is addressed as "you". jpayne@68: jpayne@68: Activities other than copying, distribution and modification are jpayne@68: not covered by this License; they are outside its scope. The act jpayne@68: of running the Program is not restricted, and the output from the jpayne@68: Program is covered only if its contents constitute a work based on jpayne@68: the Program (independent of having been made by running the jpayne@68: Program). Whether that is true depends on what the Program does. jpayne@68: jpayne@68: 1. You may copy and distribute verbatim copies of the Program's source jpayne@68: code as you receive it, in any medium, provided that you jpayne@68: conspicuously and appropriately publish on each copy an appropriate jpayne@68: copyright notice and disclaimer of warranty; keep intact all the jpayne@68: notices that refer to this License and to the absence of any jpayne@68: warranty; and give any other recipients of the Program a copy of jpayne@68: this License along with the Program. jpayne@68: jpayne@68: You may charge a fee for the physical act of transferring a copy, jpayne@68: and you may at your option offer warranty protection in exchange jpayne@68: for a fee. jpayne@68: jpayne@68: 2. You may modify your copy or copies of the Program or any portion of jpayne@68: it, thus forming a work based on the Program, and copy and jpayne@68: distribute such modifications or work under the terms of Section 1 jpayne@68: above, provided that you also meet all of these conditions: jpayne@68: jpayne@68: a. You must cause the modified files to carry prominent notices jpayne@68: stating that you changed the files and the date of any change. jpayne@68: jpayne@68: b. You must cause any work that you distribute or publish, that jpayne@68: in whole or in part contains or is derived from the Program or jpayne@68: any part thereof, to be licensed as a whole at no charge to jpayne@68: all third parties under the terms of this License. jpayne@68: jpayne@68: c. If the modified program normally reads commands interactively jpayne@68: when run, you must cause it, when started running for such jpayne@68: interactive use in the most ordinary way, to print or display jpayne@68: an announcement including an appropriate copyright notice and jpayne@68: a notice that there is no warranty (or else, saying that you jpayne@68: provide a warranty) and that users may redistribute the jpayne@68: program under these conditions, and telling the user how to jpayne@68: view a copy of this License. (Exception: if the Program jpayne@68: itself is interactive but does not normally print such an jpayne@68: announcement, your work based on the Program is not required jpayne@68: to print an announcement.) jpayne@68: jpayne@68: These requirements apply to the modified work as a whole. If jpayne@68: identifiable sections of that work are not derived from the jpayne@68: Program, and can be reasonably considered independent and separate jpayne@68: works in themselves, then this License, and its terms, do not apply jpayne@68: to those sections when you distribute them as separate works. But jpayne@68: when you distribute the same sections as part of a whole which is a jpayne@68: work based on the Program, the distribution of the whole must be on jpayne@68: the terms of this License, whose permissions for other licensees jpayne@68: extend to the entire whole, and thus to each and every part jpayne@68: regardless of who wrote it. jpayne@68: jpayne@68: Thus, it is not the intent of this section to claim rights or jpayne@68: contest your rights to work written entirely by you; rather, the jpayne@68: intent is to exercise the right to control the distribution of jpayne@68: derivative or collective works based on the Program. jpayne@68: jpayne@68: In addition, mere aggregation of another work not based on the jpayne@68: Program with the Program (or with a work based on the Program) on a jpayne@68: volume of a storage or distribution medium does not bring the other jpayne@68: work under the scope of this License. jpayne@68: jpayne@68: 3. You may copy and distribute the Program (or a work based on it, jpayne@68: under Section 2) in object code or executable form under the terms jpayne@68: of Sections 1 and 2 above provided that you also do one of the jpayne@68: following: jpayne@68: jpayne@68: a. Accompany it with the complete corresponding machine-readable jpayne@68: source code, which must be distributed under the terms of jpayne@68: Sections 1 and 2 above on a medium customarily used for jpayne@68: software interchange; or, jpayne@68: jpayne@68: b. Accompany it with a written offer, valid for at least three jpayne@68: years, to give any third party, for a charge no more than your jpayne@68: cost of physically performing source distribution, a complete jpayne@68: machine-readable copy of the corresponding source code, to be jpayne@68: distributed under the terms of Sections 1 and 2 above on a jpayne@68: medium customarily used for software interchange; or, jpayne@68: jpayne@68: c. Accompany it with the information you received as to the offer jpayne@68: to distribute corresponding source code. (This alternative is jpayne@68: allowed only for noncommercial distribution and only if you jpayne@68: received the program in object code or executable form with jpayne@68: such an offer, in accord with Subsection b above.) jpayne@68: jpayne@68: The source code for a work means the preferred form of the work for jpayne@68: making modifications to it. For an executable work, complete jpayne@68: source code means all the source code for all modules it contains, jpayne@68: plus any associated interface definition files, plus the scripts jpayne@68: used to control compilation and installation of the executable. jpayne@68: However, as a special exception, the source code distributed need jpayne@68: not include anything that is normally distributed (in either source jpayne@68: or binary form) with the major components (compiler, kernel, and so jpayne@68: on) of the operating system on which the executable runs, unless jpayne@68: that component itself accompanies the executable. jpayne@68: jpayne@68: If distribution of executable or object code is made by offering jpayne@68: access to copy from a designated place, then offering equivalent jpayne@68: access to copy the source code from the same place counts as jpayne@68: distribution of the source code, even though third parties are not jpayne@68: compelled to copy the source along with the object code. jpayne@68: jpayne@68: 4. You may not copy, modify, sublicense, or distribute the Program jpayne@68: except as expressly provided under this License. Any attempt jpayne@68: otherwise to copy, modify, sublicense or distribute the Program is jpayne@68: void, and will automatically terminate your rights under this jpayne@68: License. However, parties who have received copies, or rights, jpayne@68: from you under this License will not have their licenses terminated jpayne@68: so long as such parties remain in full compliance. jpayne@68: jpayne@68: 5. You are not required to accept this License, since you have not jpayne@68: signed it. However, nothing else grants you permission to modify jpayne@68: or distribute the Program or its derivative works. These actions jpayne@68: are prohibited by law if you do not accept this License. jpayne@68: Therefore, by modifying or distributing the Program (or any work jpayne@68: based on the Program), you indicate your acceptance of this License jpayne@68: to do so, and all its terms and conditions for copying, jpayne@68: distributing or modifying the Program or works based on it. jpayne@68: jpayne@68: 6. Each time you redistribute the Program (or any work based on the jpayne@68: Program), the recipient automatically receives a license from the jpayne@68: original licensor to copy, distribute or modify the Program subject jpayne@68: to these terms and conditions. You may not impose any further jpayne@68: restrictions on the recipients' exercise of the rights granted jpayne@68: herein. You are not responsible for enforcing compliance by third jpayne@68: parties to this License. jpayne@68: jpayne@68: 7. If, as a consequence of a court judgment or allegation of patent jpayne@68: infringement or for any other reason (not limited to patent jpayne@68: issues), conditions are imposed on you (whether by court order, jpayne@68: agreement or otherwise) that contradict the conditions of this jpayne@68: License, they do not excuse you from the conditions of this jpayne@68: License. If you cannot distribute so as to satisfy simultaneously jpayne@68: your obligations under this License and any other pertinent jpayne@68: obligations, then as a consequence you may not distribute the jpayne@68: Program at all. For example, if a patent license would not permit jpayne@68: royalty-free redistribution of the Program by all those who receive jpayne@68: copies directly or indirectly through you, then the only way you jpayne@68: could satisfy both it and this License would be to refrain entirely jpayne@68: from distribution of the Program. jpayne@68: jpayne@68: If any portion of this section is held invalid or unenforceable jpayne@68: under any particular circumstance, the balance of the section is jpayne@68: intended to apply and the section as a whole is intended to apply jpayne@68: in other circumstances. jpayne@68: jpayne@68: It is not the purpose of this section to induce you to infringe any jpayne@68: patents or other property right claims or to contest validity of jpayne@68: any such claims; this section has the sole purpose of protecting jpayne@68: the integrity of the free software distribution system, which is jpayne@68: implemented by public license practices. Many people have made jpayne@68: generous contributions to the wide range of software distributed jpayne@68: through that system in reliance on consistent application of that jpayne@68: system; it is up to the author/donor to decide if he or she is jpayne@68: willing to distribute software through any other system and a jpayne@68: licensee cannot impose that choice. jpayne@68: jpayne@68: This section is intended to make thoroughly clear what is believed jpayne@68: to be a consequence of the rest of this License. jpayne@68: jpayne@68: 8. If the distribution and/or use of the Program is restricted in jpayne@68: certain countries either by patents or by copyrighted interfaces, jpayne@68: the original copyright holder who places the Program under this jpayne@68: License may add an explicit geographical distribution limitation jpayne@68: excluding those countries, so that distribution is permitted only jpayne@68: in or among countries not thus excluded. In such case, this jpayne@68: License incorporates the limitation as if written in the body of jpayne@68: this License. jpayne@68: jpayne@68: 9. The Free Software Foundation may publish revised and/or new jpayne@68: versions of the General Public License from time to time. Such new jpayne@68: versions will be similar in spirit to the present version, but may jpayne@68: differ in detail to address new problems or concerns. jpayne@68: jpayne@68: Each version is given a distinguishing version number. If the jpayne@68: Program specifies a version number of this License which applies to jpayne@68: it and "any later version", you have the option of following the jpayne@68: terms and conditions either of that version or of any later version jpayne@68: published by the Free Software Foundation. If the Program does not jpayne@68: specify a version number of this License, you may choose any jpayne@68: version ever published by the Free Software Foundation. jpayne@68: jpayne@68: 10. If you wish to incorporate parts of the Program into other free jpayne@68: programs whose distribution conditions are different, write to the jpayne@68: author to ask for permission. For software which is copyrighted by jpayne@68: the Free Software Foundation, write to the Free Software jpayne@68: Foundation; we sometimes make exceptions for this. Our decision jpayne@68: will be guided by the two goals of preserving the free status of jpayne@68: all derivatives of our free software and of promoting the sharing jpayne@68: and reuse of software generally. jpayne@68: jpayne@68: NO WARRANTY jpayne@68: jpayne@68: 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO jpayne@68: WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE jpayne@68: LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS jpayne@68: AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY jpayne@68: OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT jpayne@68: LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS jpayne@68: FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND jpayne@68: PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE jpayne@68: DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR jpayne@68: OR CORRECTION. jpayne@68: jpayne@68: 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN jpayne@68: WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY jpayne@68: MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE jpayne@68: LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, jpayne@68: INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR jpayne@68: INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF jpayne@68: DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU jpayne@68: OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY jpayne@68: OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN jpayne@68: ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. jpayne@68: jpayne@68: END OF TERMS AND CONDITIONS jpayne@68: jpayne@68: Appendix: How to Apply These Terms to Your New Programs jpayne@68: ======================================================= jpayne@68: jpayne@68: If you develop a new program, and you want it to be of the greatest jpayne@68: possible use to the public, the best way to achieve this is to make it jpayne@68: free software which everyone can redistribute and change under these jpayne@68: terms. jpayne@68: jpayne@68: To do so, attach the following notices to the program. It is safest jpayne@68: to attach them to the start of each source file to most effectively jpayne@68: convey the exclusion of warranty; and each file should have at least the jpayne@68: "copyright" line and a pointer to where the full notice is found. jpayne@68: jpayne@68: ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES. jpayne@68: Copyright (C) YYYY NAME OF AUTHOR jpayne@68: jpayne@68: This program is free software; you can redistribute it and/or modify jpayne@68: it under the terms of the GNU General Public License as published by jpayne@68: the Free Software Foundation; either version 2 of the License, or jpayne@68: (at your option) any later version. jpayne@68: jpayne@68: This program is distributed in the hope that it will be useful, jpayne@68: but WITHOUT ANY WARRANTY; without even the implied warranty of jpayne@68: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jpayne@68: GNU General Public License for more details. jpayne@68: jpayne@68: You should have received a copy of the GNU General Public License jpayne@68: along with this program; if not, write to the Free Software jpayne@68: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. jpayne@68: jpayne@68: Also add information on how to contact you by electronic and paper jpayne@68: mail. jpayne@68: jpayne@68: If the program is interactive, make it output a short notice like jpayne@68: this when it starts in an interactive mode: jpayne@68: jpayne@68: Gnomovision version 69, Copyright (C) YEAR NAME OF AUTHOR jpayne@68: Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. jpayne@68: This is free software, and you are welcome to redistribute it jpayne@68: under certain conditions; type `show c' for details. jpayne@68: jpayne@68: The hypothetical commands 'show w' and 'show c' should show the jpayne@68: appropriate parts of the General Public License. Of course, the jpayne@68: commands you use may be called something other than 'show w' and 'show jpayne@68: c'; they could even be mouse-clicks or menu items--whatever suits your jpayne@68: program. jpayne@68: jpayne@68: You should also get your employer (if you work as a programmer) or jpayne@68: your school, if any, to sign a "copyright disclaimer" for the program, jpayne@68: if necessary. Here is a sample; alter the names: jpayne@68: jpayne@68: Yoyodyne, Inc., hereby disclaims all copyright interest in the program jpayne@68: `Gnomovision' (which makes passes at compilers) written by James Hacker. jpayne@68: jpayne@68: SIGNATURE OF TY COON, 1 April 1989 jpayne@68: Ty Coon, President of Vice jpayne@68: jpayne@68: This General Public License does not permit incorporating your jpayne@68: program into proprietary programs. If your program is a subroutine jpayne@68: library, you may consider it more useful to permit linking proprietary jpayne@68: applications with the library. If this is what you want to do, use the jpayne@68: GNU Lesser General Public License instead of this License. jpayne@68: jpayne@68:  jpayne@68: File: autosprintf.info, Node: GNU FDL, Prev: GNU GPL, Up: Licenses jpayne@68: jpayne@68: A.3 GNU Free Documentation License jpayne@68: ================================== jpayne@68: jpayne@68: Version 1.2, November 2002 jpayne@68: jpayne@68: Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. jpayne@68: 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA jpayne@68: jpayne@68: Everyone is permitted to copy and distribute verbatim copies jpayne@68: of this license document, but changing it is not allowed. jpayne@68: jpayne@68: 0. PREAMBLE jpayne@68: jpayne@68: The purpose of this License is to make a manual, textbook, or other jpayne@68: functional and useful document "free" in the sense of freedom: to jpayne@68: assure everyone the effective freedom to copy and redistribute it, jpayne@68: with or without modifying it, either commercially or jpayne@68: noncommercially. Secondarily, this License preserves for the jpayne@68: author and publisher a way to get credit for their work, while not jpayne@68: being considered responsible for modifications made by others. jpayne@68: jpayne@68: This License is a kind of "copyleft", which means that derivative jpayne@68: works of the document must themselves be free in the same sense. jpayne@68: It complements the GNU General Public License, which is a copyleft jpayne@68: license designed for free software. jpayne@68: jpayne@68: We have designed this License in order to use it for manuals for jpayne@68: free software, because free software needs free documentation: a jpayne@68: free program should come with manuals providing the same freedoms jpayne@68: that the software does. But this License is not limited to jpayne@68: software manuals; it can be used for any textual work, regardless jpayne@68: of subject matter or whether it is published as a printed book. We jpayne@68: recommend this License principally for works whose purpose is jpayne@68: instruction or reference. jpayne@68: jpayne@68: 1. APPLICABILITY AND DEFINITIONS jpayne@68: jpayne@68: This License applies to any manual or other work, in any medium, jpayne@68: that contains a notice placed by the copyright holder saying it can jpayne@68: be distributed under the terms of this License. Such a notice jpayne@68: grants a world-wide, royalty-free license, unlimited in duration, jpayne@68: to use that work under the conditions stated herein. The jpayne@68: "Document", below, refers to any such manual or work. Any member jpayne@68: of the public is a licensee, and is addressed as "you". You accept jpayne@68: the license if you copy, modify or distribute the work in a way jpayne@68: requiring permission under copyright law. jpayne@68: jpayne@68: A "Modified Version" of the Document means any work containing the jpayne@68: Document or a portion of it, either copied verbatim, or with jpayne@68: modifications and/or translated into another language. jpayne@68: jpayne@68: A "Secondary Section" is a named appendix or a front-matter section jpayne@68: of the Document that deals exclusively with the relationship of the jpayne@68: publishers or authors of the Document to the Document's overall jpayne@68: subject (or to related matters) and contains nothing that could jpayne@68: fall directly within that overall subject. (Thus, if the Document jpayne@68: is in part a textbook of mathematics, a Secondary Section may not jpayne@68: explain any mathematics.) The relationship could be a matter of jpayne@68: historical connection with the subject or with related matters, or jpayne@68: of legal, commercial, philosophical, ethical or political position jpayne@68: regarding them. jpayne@68: jpayne@68: The "Invariant Sections" are certain Secondary Sections whose jpayne@68: titles are designated, as being those of Invariant Sections, in the jpayne@68: notice that says that the Document is released under this License. jpayne@68: If a section does not fit the above definition of Secondary then it jpayne@68: is not allowed to be designated as Invariant. The Document may jpayne@68: contain zero Invariant Sections. If the Document does not identify jpayne@68: any Invariant Sections then there are none. jpayne@68: jpayne@68: The "Cover Texts" are certain short passages of text that are jpayne@68: listed, as Front-Cover Texts or Back-Cover Texts, in the notice jpayne@68: that says that the Document is released under this License. A jpayne@68: Front-Cover Text may be at most 5 words, and a Back-Cover Text may jpayne@68: be at most 25 words. jpayne@68: jpayne@68: A "Transparent" copy of the Document means a machine-readable copy, jpayne@68: represented in a format whose specification is available to the jpayne@68: general public, that is suitable for revising the document jpayne@68: straightforwardly with generic text editors or (for images composed jpayne@68: of pixels) generic paint programs or (for drawings) some widely jpayne@68: available drawing editor, and that is suitable for input to text jpayne@68: formatters or for automatic translation to a variety of formats jpayne@68: suitable for input to text formatters. A copy made in an otherwise jpayne@68: Transparent file format whose markup, or absence of markup, has jpayne@68: been arranged to thwart or discourage subsequent modification by jpayne@68: readers is not Transparent. An image format is not Transparent if jpayne@68: used for any substantial amount of text. A copy that is not jpayne@68: "Transparent" is called "Opaque". jpayne@68: jpayne@68: Examples of suitable formats for Transparent copies include plain jpayne@68: ASCII without markup, Texinfo input format, LaTeX input format, jpayne@68: SGML or XML using a publicly available DTD, and standard-conforming jpayne@68: simple HTML, PostScript or PDF designed for human modification. jpayne@68: Examples of transparent image formats include PNG, XCF and JPG. jpayne@68: Opaque formats include proprietary formats that can be read and jpayne@68: edited only by proprietary word processors, SGML or XML for which jpayne@68: the DTD and/or processing tools are not generally available, and jpayne@68: the machine-generated HTML, PostScript or PDF produced by some word jpayne@68: processors for output purposes only. jpayne@68: jpayne@68: The "Title Page" means, for a printed book, the title page itself, jpayne@68: plus such following pages as are needed to hold, legibly, the jpayne@68: material this License requires to appear in the title page. For jpayne@68: works in formats which do not have any title page as such, "Title jpayne@68: Page" means the text near the most prominent appearance of the jpayne@68: work's title, preceding the beginning of the body of the text. jpayne@68: jpayne@68: A section "Entitled XYZ" means a named subunit of the Document jpayne@68: whose title either is precisely XYZ or contains XYZ in parentheses jpayne@68: following text that translates XYZ in another language. (Here XYZ jpayne@68: stands for a specific section name mentioned below, such as jpayne@68: "Acknowledgements", "Dedications", "Endorsements", or "History".) jpayne@68: To "Preserve the Title" of such a section when you modify the jpayne@68: Document means that it remains a section "Entitled XYZ" according jpayne@68: to this definition. jpayne@68: jpayne@68: The Document may include Warranty Disclaimers next to the notice jpayne@68: which states that this License applies to the Document. These jpayne@68: Warranty Disclaimers are considered to be included by reference in jpayne@68: this License, but only as regards disclaiming warranties: any other jpayne@68: implication that these Warranty Disclaimers may have is void and jpayne@68: has no effect on the meaning of this License. jpayne@68: jpayne@68: 2. VERBATIM COPYING jpayne@68: jpayne@68: You may copy and distribute the Document in any medium, either jpayne@68: commercially or noncommercially, provided that this License, the jpayne@68: copyright notices, and the license notice saying this License jpayne@68: applies to the Document are reproduced in all copies, and that you jpayne@68: add no other conditions whatsoever to those of this License. You jpayne@68: may not use technical measures to obstruct or control the reading jpayne@68: or further copying of the copies you make or distribute. However, jpayne@68: you may accept compensation in exchange for copies. If you jpayne@68: distribute a large enough number of copies you must also follow the jpayne@68: conditions in section 3. jpayne@68: jpayne@68: You may also lend copies, under the same conditions stated above, jpayne@68: and you may publicly display copies. jpayne@68: jpayne@68: 3. COPYING IN QUANTITY jpayne@68: jpayne@68: If you publish printed copies (or copies in media that commonly jpayne@68: have printed covers) of the Document, numbering more than 100, and jpayne@68: the Document's license notice requires Cover Texts, you must jpayne@68: enclose the copies in covers that carry, clearly and legibly, all jpayne@68: these Cover Texts: Front-Cover Texts on the front cover, and jpayne@68: Back-Cover Texts on the back cover. Both covers must also clearly jpayne@68: and legibly identify you as the publisher of these copies. The jpayne@68: front cover must present the full title with all words of the title jpayne@68: equally prominent and visible. You may add other material on the jpayne@68: covers in addition. Copying with changes limited to the covers, as jpayne@68: long as they preserve the title of the Document and satisfy these jpayne@68: conditions, can be treated as verbatim copying in other respects. jpayne@68: jpayne@68: If the required texts for either cover are too voluminous to fit jpayne@68: legibly, you should put the first ones listed (as many as fit jpayne@68: reasonably) on the actual cover, and continue the rest onto jpayne@68: adjacent pages. jpayne@68: jpayne@68: If you publish or distribute Opaque copies of the Document jpayne@68: numbering more than 100, you must either include a machine-readable jpayne@68: Transparent copy along with each Opaque copy, or state in or with jpayne@68: each Opaque copy a computer-network location from which the general jpayne@68: network-using public has access to download using public-standard jpayne@68: network protocols a complete Transparent copy of the Document, free jpayne@68: of added material. If you use the latter option, you must take jpayne@68: reasonably prudent steps, when you begin distribution of Opaque jpayne@68: copies in quantity, to ensure that this Transparent copy will jpayne@68: remain thus accessible at the stated location until at least one jpayne@68: year after the last time you distribute an Opaque copy (directly or jpayne@68: through your agents or retailers) of that edition to the public. jpayne@68: jpayne@68: It is requested, but not required, that you contact the authors of jpayne@68: the Document well before redistributing any large number of copies, jpayne@68: to give them a chance to provide you with an updated version of the jpayne@68: Document. jpayne@68: jpayne@68: 4. MODIFICATIONS jpayne@68: jpayne@68: You may copy and distribute a Modified Version of the Document jpayne@68: under the conditions of sections 2 and 3 above, provided that you jpayne@68: release the Modified Version under precisely this License, with the jpayne@68: Modified Version filling the role of the Document, thus licensing jpayne@68: distribution and modification of the Modified Version to whoever jpayne@68: possesses a copy of it. In addition, you must do these things in jpayne@68: the Modified Version: jpayne@68: jpayne@68: A. Use in the Title Page (and on the covers, if any) a title jpayne@68: distinct from that of the Document, and from those of previous jpayne@68: versions (which should, if there were any, be listed in the jpayne@68: History section of the Document). You may use the same title jpayne@68: as a previous version if the original publisher of that jpayne@68: version gives permission. jpayne@68: jpayne@68: B. List on the Title Page, as authors, one or more persons or jpayne@68: entities responsible for authorship of the modifications in jpayne@68: the Modified Version, together with at least five of the jpayne@68: principal authors of the Document (all of its principal jpayne@68: authors, if it has fewer than five), unless they release you jpayne@68: from this requirement. jpayne@68: jpayne@68: C. State on the Title page the name of the publisher of the jpayne@68: Modified Version, as the publisher. jpayne@68: jpayne@68: D. Preserve all the copyright notices of the Document. jpayne@68: jpayne@68: E. Add an appropriate copyright notice for your modifications jpayne@68: adjacent to the other copyright notices. jpayne@68: jpayne@68: F. Include, immediately after the copyright notices, a license jpayne@68: notice giving the public permission to use the Modified jpayne@68: Version under the terms of this License, in the form shown in jpayne@68: the Addendum below. jpayne@68: jpayne@68: G. Preserve in that license notice the full lists of Invariant jpayne@68: Sections and required Cover Texts given in the Document's jpayne@68: license notice. jpayne@68: jpayne@68: H. Include an unaltered copy of this License. jpayne@68: jpayne@68: I. Preserve the section Entitled "History", Preserve its Title, jpayne@68: and add to it an item stating at least the title, year, new jpayne@68: authors, and publisher of the Modified Version as given on the jpayne@68: Title Page. If there is no section Entitled "History" in the jpayne@68: Document, create one stating the title, year, authors, and jpayne@68: publisher of the Document as given on its Title Page, then add jpayne@68: an item describing the Modified Version as stated in the jpayne@68: previous sentence. jpayne@68: jpayne@68: J. Preserve the network location, if any, given in the Document jpayne@68: for public access to a Transparent copy of the Document, and jpayne@68: likewise the network locations given in the Document for jpayne@68: previous versions it was based on. These may be placed in the jpayne@68: "History" section. You may omit a network location for a work jpayne@68: that was published at least four years before the Document jpayne@68: itself, or if the original publisher of the version it refers jpayne@68: to gives permission. jpayne@68: jpayne@68: K. For any section Entitled "Acknowledgements" or "Dedications", jpayne@68: Preserve the Title of the section, and preserve in the section jpayne@68: all the substance and tone of each of the contributor jpayne@68: acknowledgements and/or dedications given therein. jpayne@68: jpayne@68: L. Preserve all the Invariant Sections of the Document, unaltered jpayne@68: in their text and in their titles. Section numbers or the jpayne@68: equivalent are not considered part of the section titles. jpayne@68: jpayne@68: M. Delete any section Entitled "Endorsements". Such a section jpayne@68: may not be included in the Modified Version. jpayne@68: jpayne@68: N. Do not retitle any existing section to be Entitled jpayne@68: "Endorsements" or to conflict in title with any Invariant jpayne@68: Section. jpayne@68: jpayne@68: O. Preserve any Warranty Disclaimers. jpayne@68: jpayne@68: If the Modified Version includes new front-matter sections or jpayne@68: appendices that qualify as Secondary Sections and contain no jpayne@68: material copied from the Document, you may at your option designate jpayne@68: some or all of these sections as invariant. To do this, add their jpayne@68: titles to the list of Invariant Sections in the Modified Version's jpayne@68: license notice. These titles must be distinct from any other jpayne@68: section titles. jpayne@68: jpayne@68: You may add a section Entitled "Endorsements", provided it contains jpayne@68: nothing but endorsements of your Modified Version by various jpayne@68: parties--for example, statements of peer review or that the text jpayne@68: has been approved by an organization as the authoritative jpayne@68: definition of a standard. jpayne@68: jpayne@68: You may add a passage of up to five words as a Front-Cover Text, jpayne@68: and a passage of up to 25 words as a Back-Cover Text, to the end of jpayne@68: the list of Cover Texts in the Modified Version. Only one passage jpayne@68: of Front-Cover Text and one of Back-Cover Text may be added by (or jpayne@68: through arrangements made by) any one entity. If the Document jpayne@68: already includes a cover text for the same cover, previously added jpayne@68: by you or by arrangement made by the same entity you are acting on jpayne@68: behalf of, you may not add another; but you may replace the old jpayne@68: one, on explicit permission from the previous publisher that added jpayne@68: the old one. jpayne@68: jpayne@68: The author(s) and publisher(s) of the Document do not by this jpayne@68: License give permission to use their names for publicity for or to jpayne@68: assert or imply endorsement of any Modified Version. jpayne@68: jpayne@68: 5. COMBINING DOCUMENTS jpayne@68: jpayne@68: You may combine the Document with other documents released under jpayne@68: this License, under the terms defined in section 4 above for jpayne@68: modified versions, provided that you include in the combination all jpayne@68: of the Invariant Sections of all of the original documents, jpayne@68: unmodified, and list them all as Invariant Sections of your jpayne@68: combined work in its license notice, and that you preserve all jpayne@68: their Warranty Disclaimers. jpayne@68: jpayne@68: The combined work need only contain one copy of this License, and jpayne@68: multiple identical Invariant Sections may be replaced with a single jpayne@68: copy. If there are multiple Invariant Sections with the same name jpayne@68: but different contents, make the title of each such section unique jpayne@68: by adding at the end of it, in parentheses, the name of the jpayne@68: original author or publisher of that section if known, or else a jpayne@68: unique number. Make the same adjustment to the section titles in jpayne@68: the list of Invariant Sections in the license notice of the jpayne@68: combined work. jpayne@68: jpayne@68: In the combination, you must combine any sections Entitled jpayne@68: "History" in the various original documents, forming one section jpayne@68: Entitled "History"; likewise combine any sections Entitled jpayne@68: "Acknowledgements", and any sections Entitled "Dedications". You jpayne@68: must delete all sections Entitled "Endorsements." jpayne@68: jpayne@68: 6. COLLECTIONS OF DOCUMENTS jpayne@68: jpayne@68: You may make a collection consisting of the Document and other jpayne@68: documents released under this License, and replace the individual jpayne@68: copies of this License in the various documents with a single copy jpayne@68: that is included in the collection, provided that you follow the jpayne@68: rules of this License for verbatim copying of each of the documents jpayne@68: in all other respects. jpayne@68: jpayne@68: You may extract a single document from such a collection, and jpayne@68: distribute it individually under this License, provided you insert jpayne@68: a copy of this License into the extracted document, and follow this jpayne@68: License in all other respects regarding verbatim copying of that jpayne@68: document. jpayne@68: jpayne@68: 7. AGGREGATION WITH INDEPENDENT WORKS jpayne@68: jpayne@68: A compilation of the Document or its derivatives with other jpayne@68: separate and independent documents or works, in or on a volume of a jpayne@68: storage or distribution medium, is called an "aggregate" if the jpayne@68: copyright resulting from the compilation is not used to limit the jpayne@68: legal rights of the compilation's users beyond what the individual jpayne@68: works permit. When the Document is included in an aggregate, this jpayne@68: License does not apply to the other works in the aggregate which jpayne@68: are not themselves derivative works of the Document. jpayne@68: jpayne@68: If the Cover Text requirement of section 3 is applicable to these jpayne@68: copies of the Document, then if the Document is less than one half jpayne@68: of the entire aggregate, the Document's Cover Texts may be placed jpayne@68: on covers that bracket the Document within the aggregate, or the jpayne@68: electronic equivalent of covers if the Document is in electronic jpayne@68: form. Otherwise they must appear on printed covers that bracket jpayne@68: the whole aggregate. jpayne@68: jpayne@68: 8. TRANSLATION jpayne@68: jpayne@68: Translation is considered a kind of modification, so you may jpayne@68: distribute translations of the Document under the terms of section jpayne@68: 4. Replacing Invariant Sections with translations requires special jpayne@68: permission from their copyright holders, but you may include jpayne@68: translations of some or all Invariant Sections in addition to the jpayne@68: original versions of these Invariant Sections. You may include a jpayne@68: translation of this License, and all the license notices in the jpayne@68: Document, and any Warranty Disclaimers, provided that you also jpayne@68: include the original English version of this License and the jpayne@68: original versions of those notices and disclaimers. In case of a jpayne@68: disagreement between the translation and the original version of jpayne@68: this License or a notice or disclaimer, the original version will jpayne@68: prevail. jpayne@68: jpayne@68: If a section in the Document is Entitled "Acknowledgements", jpayne@68: "Dedications", or "History", the requirement (section 4) to jpayne@68: Preserve its Title (section 1) will typically require changing the jpayne@68: actual title. jpayne@68: jpayne@68: 9. TERMINATION jpayne@68: jpayne@68: You may not copy, modify, sublicense, or distribute the Document jpayne@68: except as expressly provided for under this License. Any other jpayne@68: attempt to copy, modify, sublicense or distribute the Document is jpayne@68: void, and will automatically terminate your rights under this jpayne@68: License. However, parties who have received copies, or rights, jpayne@68: from you under this License will not have their licenses terminated jpayne@68: so long as such parties remain in full compliance. jpayne@68: jpayne@68: 10. FUTURE REVISIONS OF THIS LICENSE jpayne@68: jpayne@68: The Free Software Foundation may publish new, revised versions of jpayne@68: the GNU Free Documentation License from time to time. Such new jpayne@68: versions will be similar in spirit to the present version, but may jpayne@68: differ in detail to address new problems or concerns. See jpayne@68: . jpayne@68: jpayne@68: Each version of the License is given a distinguishing version jpayne@68: number. If the Document specifies that a particular numbered jpayne@68: version of this License "or any later version" applies to it, you jpayne@68: have the option of following the terms and conditions either of jpayne@68: that specified version or of any later version that has been jpayne@68: published (not as a draft) by the Free Software Foundation. If the jpayne@68: Document does not specify a version number of this License, you may jpayne@68: choose any version ever published (not as a draft) by the Free jpayne@68: Software Foundation. jpayne@68: jpayne@68: ADDENDUM: How to use this License for your documents jpayne@68: ==================================================== jpayne@68: jpayne@68: To use this License in a document you have written, include a copy of jpayne@68: the License in the document and put the following copyright and license jpayne@68: notices just after the title page: jpayne@68: jpayne@68: Copyright (C) YEAR YOUR NAME. jpayne@68: Permission is granted to copy, distribute and/or modify this document jpayne@68: under the terms of the GNU Free Documentation License, Version 1.2 jpayne@68: or any later version published by the Free Software Foundation; jpayne@68: with no Invariant Sections, no Front-Cover Texts, and no Back-Cover jpayne@68: Texts. A copy of the license is included in the section entitled ``GNU jpayne@68: Free Documentation License''. jpayne@68: jpayne@68: If you have Invariant Sections, Front-Cover Texts and Back-Cover jpayne@68: Texts, replace the "with...Texts." line with this: jpayne@68: jpayne@68: with the Invariant Sections being LIST THEIR TITLES, with jpayne@68: the Front-Cover Texts being LIST, and with the Back-Cover Texts jpayne@68: being LIST. jpayne@68: jpayne@68: If you have Invariant Sections without Cover Texts, or some other jpayne@68: combination of the three, merge those two alternatives to suit the jpayne@68: situation. jpayne@68: jpayne@68: If your document contains nontrivial examples of program code, we jpayne@68: recommend releasing these examples in parallel under your choice of free jpayne@68: software license, such as the GNU General Public License, to permit jpayne@68: their use in free software. jpayne@68: jpayne@68: jpayne@68:  jpayne@68: Tag Table: jpayne@68: Node: Top1355 jpayne@68: Node: Introduction1717 jpayne@68: Node: Class autosprintf2873 jpayne@68: Node: Using autosprintf3887 jpayne@68: Node: Licenses4702 jpayne@68: Node: GNU LGPL6447 jpayne@68: Node: GNU GPL34574 jpayne@68: Node: GNU FDL53833 jpayne@68:  jpayne@68: End Tag Table jpayne@68: jpayne@68:  jpayne@68: Local Variables: jpayne@68: coding: utf-8 jpayne@68: End: