merge
This commit is contained in:
commit
bd24f31a4e
9 changed files with 1878 additions and 813 deletions
261
LICENSE
261
LICENSE
|
@ -1,261 +0,0 @@
|
||||||
The Plan 9 software is provided under the terms of the
|
|
||||||
Lucent Public License, Version 1.02, reproduced below,
|
|
||||||
with the following notable exceptions:
|
|
||||||
|
|
||||||
1. No right is granted to create derivative works of or
|
|
||||||
to redistribute (other than with the Plan 9 Operating System)
|
|
||||||
the screen imprinter fonts identified in subdirectory
|
|
||||||
/lib/font/bit/lucida and printer fonts (Lucida Sans Unicode, Lucida
|
|
||||||
Sans Italic, Lucida Sans Demibold, Lucida Typewriter, Lucida Sans
|
|
||||||
Typewriter83), identified in subdirectory /sys/lib/postscript/font.
|
|
||||||
These directories contain material copyrights by B&H Inc. and Y&Y Inc.
|
|
||||||
|
|
||||||
2. The printer fonts identified in subdirectory /sys/lib/ghostscript/font
|
|
||||||
are subject to the GNU GPL, reproduced in the file /LICENSE.gpl.
|
|
||||||
|
|
||||||
3. The ghostscript program in the subdirectory /sys/src/cmd/gs is
|
|
||||||
covered by the Aladdin Free Public License, reproduced in the file
|
|
||||||
/LICENSE.afpl.
|
|
||||||
|
|
||||||
Other, less notable exceptions are marked in the file tree with
|
|
||||||
COPYING, COPYRIGHT, or LICENSE files.
|
|
||||||
|
|
||||||
===================================================================
|
|
||||||
|
|
||||||
Lucent Public License Version 1.02
|
|
||||||
|
|
||||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC
|
|
||||||
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
|
|
||||||
PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
|
|
||||||
|
|
||||||
1. DEFINITIONS
|
|
||||||
|
|
||||||
"Contribution" means:
|
|
||||||
|
|
||||||
a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original
|
|
||||||
Program, and
|
|
||||||
b. in the case of each Contributor,
|
|
||||||
|
|
||||||
i. changes to the Program, and
|
|
||||||
ii. additions to the Program;
|
|
||||||
|
|
||||||
where such changes and/or additions to the Program were added to the
|
|
||||||
Program by such Contributor itself or anyone acting on such
|
|
||||||
Contributor's behalf, and the Contributor explicitly consents, in
|
|
||||||
accordance with Section 3C, to characterization of the changes and/or
|
|
||||||
additions as Contributions.
|
|
||||||
|
|
||||||
"Contributor" means LUCENT and any other entity that has Contributed a
|
|
||||||
Contribution to the Program.
|
|
||||||
|
|
||||||
"Distributor" means a Recipient that distributes the Program,
|
|
||||||
modifications to the Program, or any part thereof.
|
|
||||||
|
|
||||||
"Licensed Patents" mean patent claims licensable by a Contributor
|
|
||||||
which are necessarily infringed by the use or sale of its Contribution
|
|
||||||
alone or when combined with the Program.
|
|
||||||
|
|
||||||
"Original Program" means the original version of the software
|
|
||||||
accompanying this Agreement as released by LUCENT, including source
|
|
||||||
code, object code and documentation, if any.
|
|
||||||
|
|
||||||
"Program" means the Original Program and Contributions or any part
|
|
||||||
thereof
|
|
||||||
|
|
||||||
"Recipient" means anyone who receives the Program under this
|
|
||||||
Agreement, including all Contributors.
|
|
||||||
|
|
||||||
2. GRANT OF RIGHTS
|
|
||||||
|
|
||||||
a. Subject to the terms of this Agreement, each Contributor hereby
|
|
||||||
grants Recipient a non-exclusive, worldwide, royalty-free copyright
|
|
||||||
license to reproduce, prepare derivative works of, publicly display,
|
|
||||||
publicly perform, distribute and sublicense the Contribution of such
|
|
||||||
Contributor, if any, and such derivative works, in source code and
|
|
||||||
object code form.
|
|
||||||
|
|
||||||
b. Subject to the terms of this Agreement, each Contributor hereby
|
|
||||||
grants Recipient a non-exclusive, worldwide, royalty-free patent
|
|
||||||
license under Licensed Patents to make, use, sell, offer to sell,
|
|
||||||
import and otherwise transfer the Contribution of such Contributor, if
|
|
||||||
any, in source code and object code form. The patent license granted
|
|
||||||
by a Contributor shall also apply to the combination of the
|
|
||||||
Contribution of that Contributor and the Program if, at the time the
|
|
||||||
Contribution is added by the Contributor, such addition of the
|
|
||||||
Contribution causes such combination to be covered by the Licensed
|
|
||||||
Patents. The patent license granted by a Contributor shall not apply
|
|
||||||
to (i) any other combinations which include the Contribution, nor to
|
|
||||||
(ii) Contributions of other Contributors. No hardware per se is
|
|
||||||
licensed hereunder.
|
|
||||||
|
|
||||||
c. Recipient understands that although each Contributor grants the
|
|
||||||
licenses to its Contributions set forth herein, no assurances are
|
|
||||||
provided by any Contributor that the Program does not infringe the
|
|
||||||
patent or other intellectual property rights of any other entity. Each
|
|
||||||
Contributor disclaims any liability to Recipient for claims brought by
|
|
||||||
any other entity based on infringement of intellectual property rights
|
|
||||||
or otherwise. As a condition to exercising the rights and licenses
|
|
||||||
granted hereunder, each Recipient hereby assumes sole responsibility
|
|
||||||
to secure any other intellectual property rights needed, if any. For
|
|
||||||
example, if a third party patent license is required to allow
|
|
||||||
Recipient to distribute the Program, it is Recipient's responsibility
|
|
||||||
to acquire that license before distributing the Program.
|
|
||||||
|
|
||||||
d. Each Contributor represents that to its knowledge it has sufficient
|
|
||||||
copyright rights in its Contribution, if any, to grant the copyright
|
|
||||||
license set forth in this Agreement.
|
|
||||||
|
|
||||||
3. REQUIREMENTS
|
|
||||||
|
|
||||||
A. Distributor may choose to distribute the Program in any form under
|
|
||||||
this Agreement or under its own license agreement, provided that:
|
|
||||||
|
|
||||||
a. it complies with the terms and conditions of this Agreement;
|
|
||||||
|
|
||||||
b. if the Program is distributed in source code or other tangible
|
|
||||||
form, a copy of this Agreement or Distributor's own license agreement
|
|
||||||
is included with each copy of the Program; and
|
|
||||||
|
|
||||||
c. if distributed under Distributor's own license agreement, such
|
|
||||||
license agreement:
|
|
||||||
|
|
||||||
i. effectively disclaims on behalf of all Contributors all warranties
|
|
||||||
and conditions, express and implied, including warranties or
|
|
||||||
conditions of title and non-infringement, and implied warranties or
|
|
||||||
conditions of merchantability and fitness for a particular purpose;
|
|
||||||
ii. effectively excludes on behalf of all Contributors all liability
|
|
||||||
for damages, including direct, indirect, special, incidental and
|
|
||||||
consequential damages, such as lost profits; and
|
|
||||||
iii. states that any provisions which differ from this Agreement are
|
|
||||||
offered by that Contributor alone and not by any other party.
|
|
||||||
|
|
||||||
B. Each Distributor must include the following in a conspicuous
|
|
||||||
location in the Program:
|
|
||||||
|
|
||||||
Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights
|
|
||||||
Reserved.
|
|
||||||
|
|
||||||
C. In addition, each Contributor must identify itself as the
|
|
||||||
originator of its Contribution in a manner that reasonably allows
|
|
||||||
subsequent Recipients to identify the originator of the Contribution.
|
|
||||||
Also, each Contributor must agree that the additions and/or changes
|
|
||||||
are intended to be a Contribution. Once a Contribution is contributed,
|
|
||||||
it may not thereafter be revoked.
|
|
||||||
|
|
||||||
4. COMMERCIAL DISTRIBUTION
|
|
||||||
|
|
||||||
Commercial distributors of software may accept certain
|
|
||||||
responsibilities with respect to end users, business partners and the
|
|
||||||
like. While this license is intended to facilitate the commercial use
|
|
||||||
of the Program, the Distributor who includes the Program in a
|
|
||||||
commercial product offering should do so in a manner which does not
|
|
||||||
create potential liability for Contributors. Therefore, if a
|
|
||||||
Distributor includes the Program in a commercial product offering,
|
|
||||||
such Distributor ("Commercial Distributor") hereby agrees to defend
|
|
||||||
and indemnify every Contributor ("Indemnified Contributor") against
|
|
||||||
any losses, damages and costs (collectively"Losses") arising from
|
|
||||||
claims, lawsuits and other legal actions brought by a third party
|
|
||||||
against the Indemnified Contributor to the extent caused by the acts
|
|
||||||
or omissions of such Commercial Distributor in connection with its
|
|
||||||
distribution of the Program in a commercial product offering. The
|
|
||||||
obligations in this section do not apply to any claims or Losses
|
|
||||||
relating to any actual or alleged intellectual property infringement.
|
|
||||||
In order to qualify, an Indemnified Contributor must: a) promptly
|
|
||||||
notify the Commercial Distributor in writing of such claim, and b)
|
|
||||||
allow the Commercial Distributor to control, and cooperate with the
|
|
||||||
Commercial Distributor in, the defense and any related settlement
|
|
||||||
negotiations. The Indemnified Contributor may participate in any such
|
|
||||||
claim at its own expense.
|
|
||||||
|
|
||||||
For example, a Distributor might include the Program in a commercial
|
|
||||||
product offering, Product X. That Distributor is then a Commercial
|
|
||||||
Distributor. If that Commercial Distributor then makes performance
|
|
||||||
claims, or offers warranties related to Product X, those performance
|
|
||||||
claims and warranties are such Commercial Distributor's responsibility
|
|
||||||
alone. Under this section, the Commercial Distributor would have to
|
|
||||||
defend claims against the Contributors related to those performance
|
|
||||||
claims and warranties, and if a court requires any Contributor to pay
|
|
||||||
any damages as a result, the Commercial Distributor must pay those
|
|
||||||
damages.
|
|
||||||
|
|
||||||
5. NO WARRANTY
|
|
||||||
|
|
||||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
|
|
||||||
PROVIDED ON AN"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
|
|
||||||
WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
|
|
||||||
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
|
|
||||||
responsible for determining the appropriateness of using and
|
|
||||||
distributing the Program and assumes all risks associated with its
|
|
||||||
exercise of rights under this Agreement, including but not limited to
|
|
||||||
the risks and costs of program errors, compliance with applicable
|
|
||||||
laws, damage to or loss of data, programs or equipment, and
|
|
||||||
unavailability or interruption of operations.
|
|
||||||
|
|
||||||
6. DISCLAIMER OF LIABILITY
|
|
||||||
|
|
||||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
|
|
||||||
ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
|
|
||||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
|
|
||||||
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
|
|
||||||
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
|
|
||||||
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
7. EXPORT CONTROL
|
|
||||||
|
|
||||||
Recipient agrees that Recipient alone is responsible for compliance
|
|
||||||
with the United States export administration regulations (and the
|
|
||||||
export control laws and regulation of any other countries).
|
|
||||||
|
|
||||||
8. GENERAL
|
|
||||||
|
|
||||||
If any provision of this Agreement is invalid or unenforceable under
|
|
||||||
applicable law, it shall not affect the validity or enforceability of
|
|
||||||
the remainder of the terms of this Agreement, and without further
|
|
||||||
action by the parties hereto, such provision shall be reformed to the
|
|
||||||
minimum extent necessary to make such provision valid and enforceable.
|
|
||||||
|
|
||||||
If Recipient institutes patent litigation against a Contributor with
|
|
||||||
respect to a patent applicable to software (including a cross-claim or
|
|
||||||
counterclaim in a lawsuit), then any patent licenses granted by that
|
|
||||||
Contributor to such Recipient under this Agreement shall terminate as
|
|
||||||
of the date such litigation is filed. In addition, if Recipient
|
|
||||||
institutes patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Program
|
|
||||||
itself (excluding combinations of the Program with other software or
|
|
||||||
hardware) infringes such Recipient's patent(s), then such Recipient's
|
|
||||||
rights granted under Section 2(b) shall terminate as of the date such
|
|
||||||
litigation is filed.
|
|
||||||
|
|
||||||
All Recipient's rights under this Agreement shall terminate if it
|
|
||||||
fails to comply with any of the material terms or conditions of this
|
|
||||||
Agreement and does not cure such failure in a reasonable period of
|
|
||||||
time after becoming aware of such noncompliance. If all Recipient's
|
|
||||||
rights under this Agreement terminate, Recipient agrees to cease use
|
|
||||||
and distribution of the Program as soon as reasonably practicable.
|
|
||||||
However, Recipient's obligations under this Agreement and any licenses
|
|
||||||
granted by Recipient relating to the Program shall continue and
|
|
||||||
survive.
|
|
||||||
|
|
||||||
LUCENT may publish new versions (including revisions) of this
|
|
||||||
Agreement from time to time. Each new version of the Agreement will be
|
|
||||||
given a distinguishing version number. The Program (including
|
|
||||||
Contributions) may always be distributed subject to the version of the
|
|
||||||
Agreement under which it was received. In addition, after a new
|
|
||||||
version of the Agreement is published, Contributor may elect to
|
|
||||||
distribute the Program (including its Contributions) under the new
|
|
||||||
version. No one other than LUCENT has the right to modify this
|
|
||||||
Agreement. Except as expressly stated in Sections 2(a) and 2(b) above,
|
|
||||||
Recipient receives no rights or licenses to the intellectual property
|
|
||||||
of any Contributor under this Agreement, whether expressly, by
|
|
||||||
implication, estoppel or otherwise. All rights in the Program not
|
|
||||||
expressly granted under this Agreement are reserved.
|
|
||||||
|
|
||||||
This Agreement is governed by the laws of the State of New York and
|
|
||||||
the intellectual property laws of the United States of America. No
|
|
||||||
party to this Agreement will bring a legal action under this Agreement
|
|
||||||
more than one year after the cause of action arose. Each party waives
|
|
||||||
its rights to a jury trial in any resulting litigation.
|
|
||||||
|
|
258
LICENSE.afpl
258
LICENSE.afpl
|
@ -1,258 +0,0 @@
|
||||||
|
|
||||||
Aladdin Free Public License
|
|
||||||
(Version 9, September 18, 2000)
|
|
||||||
|
|
||||||
Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000 Aladdin Enterprises,
|
|
||||||
Menlo Park, California, U.S.A. All rights reserved.
|
|
||||||
|
|
||||||
NOTE: This License is not the same as any of the GNU Licenses
|
|
||||||
published by the Free Software Foundation. Its terms are
|
|
||||||
substantially different from those of the GNU Licenses. If you are
|
|
||||||
familiar with the GNU Licenses, please read this license with extra
|
|
||||||
care.
|
|
||||||
|
|
||||||
Aladdin Enterprises hereby grants to anyone the permission to apply
|
|
||||||
this License to their own work, as long as the entire License
|
|
||||||
(including the above notices and this paragraph) is copied with no
|
|
||||||
changes, additions, or deletions except for changing the first
|
|
||||||
paragraph of Section 0 to include a suitable description of the work
|
|
||||||
to which the license is being applied and of the person or entity that
|
|
||||||
holds the copyright in the work, and, if the License is being applied
|
|
||||||
to a work created in a country other than the United States, replacing
|
|
||||||
the first paragraph of Section 6 with an appropriate reference to the
|
|
||||||
laws of the appropriate country.
|
|
||||||
|
|
||||||
This License is not an Open Source license: among other things, it
|
|
||||||
places restrictions on distribution of the Program, specifically
|
|
||||||
including sale of the Program. While Aladdin Enterprises respects and
|
|
||||||
supports the philosophy of the Open Source Definition, and shares the
|
|
||||||
desire of the GNU project to keep licensed software freely
|
|
||||||
redistributable in both source and object form, we feel that Open
|
|
||||||
Source licenses unfairly prevent developers of useful software from
|
|
||||||
being compensated proportionately when others profit financially from
|
|
||||||
their work. This License attempts to ensure that those who receive,
|
|
||||||
redistribute, and contribute to the licensed Program according to the
|
|
||||||
Open Source and Free Software philosophies have the right to do so,
|
|
||||||
while retaining for the developer(s) of the Program the power to make
|
|
||||||
those who use the Program to enhance the value of commercial products
|
|
||||||
pay for the privilege of doing so.
|
|
||||||
|
|
||||||
0. Subject Matter
|
|
||||||
|
|
||||||
This License applies to the computer program known as "AFPL
|
|
||||||
Ghostscript." The "Program", below, refers to such program. The
|
|
||||||
Program is a copyrighted work whose copyright is held by artofcode
|
|
||||||
LLC, located in Benicia, California (the "Licensor"). Please note that
|
|
||||||
AFPL Ghostscript is neither the program known as "GNU Ghostscript" nor
|
|
||||||
the version of Ghostscript available for commercial licensing from
|
|
||||||
Artifex Software Inc.
|
|
||||||
|
|
||||||
A "work based on the Program" means either the Program or any
|
|
||||||
derivative work of the Program, as defined in the United States
|
|
||||||
Copyright Act of 1976, such as a translation or a modification.
|
|
||||||
|
|
||||||
BY MODIFYING OR DISTRIBUTING THE PROGRAM (OR ANY WORK BASED ON THE
|
|
||||||
PROGRAM), YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND
|
|
||||||
ALL ITS TERMS AND CONDITIONS FOR COPYING, DISTRIBUTING OR MODIFYING
|
|
||||||
THE PROGRAM OR WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE
|
|
||||||
GRANTS YOU PERMISSION TO MODIFY OR DISTRIBUTE THE PROGRAM OR ITS
|
|
||||||
DERIVATIVE WORKS. THESE ACTIONS ARE PROHIBITED BY LAW. IF YOU DO NOT
|
|
||||||
ACCEPT THESE TERMS AND CONDITIONS, DO NOT MODIFY OR DISTRIBUTE THE
|
|
||||||
PROGRAM.
|
|
||||||
|
|
||||||
1. Licenses.
|
|
||||||
|
|
||||||
Licensor hereby grants you the following rights, provided that you
|
|
||||||
comply with all of the restrictions set forth in this License and
|
|
||||||
provided, further, that you distribute an unmodified copy of this
|
|
||||||
License with the Program:
|
|
||||||
(a)
|
|
||||||
You may copy and distribute literal (i.e., verbatim) copies of
|
|
||||||
the Program's source code as you receive it throughout the
|
|
||||||
world, in any medium.
|
|
||||||
(b)
|
|
||||||
You may modify the Program, create works based on the Program
|
|
||||||
and distribute copies of such throughout the world, in any
|
|
||||||
medium.
|
|
||||||
|
|
||||||
2. Restrictions.
|
|
||||||
|
|
||||||
This license is subject to the following restrictions:
|
|
||||||
(a)
|
|
||||||
Distribution of the Program or any work based on the Program by
|
|
||||||
a commercial organization to any third party is prohibited if
|
|
||||||
any payment is made in connection with such distribution,
|
|
||||||
whether directly (as in payment for a copy of the Program) or
|
|
||||||
indirectly (as in payment for some service related to the
|
|
||||||
Program, or payment for some product or service that includes a
|
|
||||||
copy of the Program "without charge"; these are only examples,
|
|
||||||
and not an exhaustive enumeration of prohibited activities).
|
|
||||||
The following methods of distribution involving payment shall
|
|
||||||
not in and of themselves be a violation of this restriction:
|
|
||||||
(i)
|
|
||||||
Posting the Program on a public access information storage
|
|
||||||
and retrieval service for which a fee is received for
|
|
||||||
retrieving information (such as an on-line service),
|
|
||||||
provided that the fee is not content-dependent (i.e., the
|
|
||||||
fee would be the same for retrieving the same volume of
|
|
||||||
information consisting of random data) and that access to
|
|
||||||
the service and to the Program is available independent of
|
|
||||||
any other product or service. An example of a service that
|
|
||||||
does not fall under this section is an on-line service
|
|
||||||
that is operated by a company and that is only available
|
|
||||||
to customers of that company. (This is not an exhaustive
|
|
||||||
enumeration.)
|
|
||||||
(ii)
|
|
||||||
Distributing the Program on removable computer-readable
|
|
||||||
media, provided that the files containing the Program are
|
|
||||||
reproduced entirely and verbatim on such media, that all
|
|
||||||
information on such media be redistributable for
|
|
||||||
non-commercial purposes without charge, and that such
|
|
||||||
media are distributed by themselves (except for
|
|
||||||
accompanying documentation) independent of any other
|
|
||||||
product or service. Examples of such media include CD-ROM,
|
|
||||||
magnetic tape, and optical storage media. (This is not
|
|
||||||
intended to be an exhaustive list.) An example of a
|
|
||||||
distribution that does not fall under this section is a
|
|
||||||
CD-ROM included in a book or magazine. (This is not an
|
|
||||||
exhaustive enumeration.)
|
|
||||||
(b)
|
|
||||||
Activities other than copying, distribution and modification of
|
|
||||||
the Program are not subject to this License and they are
|
|
||||||
outside its scope. Functional use (running) of the Program is
|
|
||||||
not restricted, and any output produced through the use of the
|
|
||||||
Program is subject to this license only if its contents
|
|
||||||
constitute a work based on the Program (independent of having
|
|
||||||
been made by running the Program).
|
|
||||||
(c)
|
|
||||||
You must meet all of the following conditions with respect to
|
|
||||||
any work that you distribute or publish that in whole or in
|
|
||||||
part contains or is derived from the Program or any part
|
|
||||||
thereof ("the Work"):
|
|
||||||
(i)
|
|
||||||
If you have modified the Program, you must cause the Work
|
|
||||||
to carry prominent notices stating that you have modified
|
|
||||||
the Program's files and the date of any change. In each
|
|
||||||
source file that you have modified, you must include a
|
|
||||||
prominent notice that you have modified the file,
|
|
||||||
including your name, your e-mail address (if any), and the
|
|
||||||
date and purpose of the change;
|
|
||||||
(ii)
|
|
||||||
You must cause the Work to be licensed as a whole and at
|
|
||||||
no charge to all third parties under the terms of this
|
|
||||||
License;
|
|
||||||
(iii)
|
|
||||||
If the Work normally reads commands interactively when
|
|
||||||
run, you must cause it, at each time the Work commences
|
|
||||||
operation, to print or display an announcement including
|
|
||||||
an appropriate copyright notice and a notice that there is
|
|
||||||
no warranty (or else, saying that you provide a warranty).
|
|
||||||
Such notice must also state that users may redistribute
|
|
||||||
the Work only under the conditions of this License and
|
|
||||||
tell the user how to view the copy of this License
|
|
||||||
included with the Work. (Exceptions: if the Program is
|
|
||||||
interactive but normally prints or displays such an
|
|
||||||
announcement only at the request of a user, such as in an
|
|
||||||
"About box", the Work is required to print or display the
|
|
||||||
notice only under the same circumstances; if the Program
|
|
||||||
itself is interactive but does not normally print such an
|
|
||||||
announcement, the Work is not required to print an
|
|
||||||
announcement.);
|
|
||||||
(iv)
|
|
||||||
You must accompany the Work with the complete
|
|
||||||
corresponding machine-readable source code, delivered on a
|
|
||||||
medium customarily used for software interchange. The
|
|
||||||
source code for a work means the preferred form of the
|
|
||||||
work for making modifications to it. For an executable
|
|
||||||
work, 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 executable code. If
|
|
||||||
you distribute with the Work any component 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, you
|
|
||||||
must also distribute the source code of that component if
|
|
||||||
you have it and are allowed to do so;
|
|
||||||
(v)
|
|
||||||
If you distribute any written or printed material at all
|
|
||||||
with the Work, such material must include either a written
|
|
||||||
copy of this License, or a prominent written indication
|
|
||||||
that the Work is covered by this License and written
|
|
||||||
instructions for printing and/or displaying the copy of
|
|
||||||
the License on the distribution medium;
|
|
||||||
(vi)
|
|
||||||
You may not impose any further restrictions on the
|
|
||||||
recipient's exercise of the rights granted herein.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering the
|
|
||||||
equivalent ability to copy from a designated place, then offering
|
|
||||||
equivalent ability to copy the source code from the same place counts
|
|
||||||
as distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source code along with the object code.
|
|
||||||
|
|
||||||
3. Reservation of Rights.
|
|
||||||
|
|
||||||
No rights are granted to the Program except as expressly set forth
|
|
||||||
herein. You may not copy, modify, sublicense, or distribute the
|
|
||||||
Program except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program 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.
|
|
||||||
|
|
||||||
4. Other Restrictions.
|
|
||||||
|
|
||||||
If the distribution and/or use of the Program is restricted in certain
|
|
||||||
countries for any reason, Licensor 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.
|
|
||||||
|
|
||||||
5. Limitations.
|
|
||||||
|
|
||||||
THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO
|
|
||||||
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
|
||||||
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
|
|
||||||
WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
|
||||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL LICENSOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
|
||||||
THE PROGRAM 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 PROGRAM (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 PROGRAM
|
|
||||||
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
|
||||||
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
6. General.
|
|
||||||
|
|
||||||
This License is governed by the laws of the State of California,
|
|
||||||
U.S.A., excluding choice of law rules.
|
|
||||||
|
|
||||||
If any part of this License is found to be in conflict with the law,
|
|
||||||
that part shall be interpreted in its broadest meaning consistent with
|
|
||||||
the law, and no other parts of the License shall be affected.
|
|
||||||
|
|
||||||
For United States Government users, the Program is provided with
|
|
||||||
RESTRICTED RIGHTS. If you are a unit or agency of the United States
|
|
||||||
Government or are acquiring the Program for any such unit or agency,
|
|
||||||
the following apply:
|
|
||||||
|
|
||||||
If the unit or agency is the Department of Defense ("DOD"), the
|
|
||||||
Program and its documentation are classified as "commercial
|
|
||||||
computer software" and "commercial computer software documentation"
|
|
||||||
respectively and, pursuant to DFAR Section 227.7202, the Government
|
|
||||||
is acquiring the Program and its documentation in accordance with
|
|
||||||
the terms of this License. If the unit or agency is other than DOD,
|
|
||||||
the Program and its documentation are classified as "commercial
|
|
||||||
computer software" and "commercial computer software documentation"
|
|
||||||
respectively and, pursuant to FAR Section 12.212, the Government is
|
|
||||||
acquiring the Program and its documentation in accordance with the
|
|
||||||
terms of this License.
|
|
290
LICENSE.gpl
290
LICENSE.gpl
|
@ -1,290 +0,0 @@
|
||||||
!! This license applies only to the printer fonts identified in
|
|
||||||
!! subdirectory /sys/lib/ghostscript/font.
|
|
||||||
|
|
||||||
===================================================================
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
|
|
||||||
verbatim copies of this license document, but changing it is not
|
|
||||||
allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your freedom
|
|
||||||
to share and change it. By contrast, the GNU General Public License
|
|
||||||
is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, 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 or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if
|
|
||||||
you distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on,
|
|
||||||
we want its recipients to know that what they have is not the
|
|
||||||
original, so that any problems introduced by others will not reflect
|
|
||||||
on the original authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at
|
|
||||||
all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains a
|
|
||||||
notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the Program
|
|
||||||
(independent of having been made by running the Program). Whether
|
|
||||||
that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
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 give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
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 Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any part
|
|
||||||
thereof, to be licensed as a whole at no charge to all third parties
|
|
||||||
under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively when
|
|
||||||
run, you must cause it, when started running for such interactive use
|
|
||||||
in the most ordinary way, to print or display an announcement
|
|
||||||
including an appropriate copyright notice and a notice that there is
|
|
||||||
no warranty (or else, saying that you provide a warranty) and that
|
|
||||||
users may redistribute the program under these conditions, and telling
|
|
||||||
the user how to view a copy of this License. (Exception: if the
|
|
||||||
Program itself is interactive but does not normally print such an
|
|
||||||
announcement, your work based on the Program is not required to print
|
|
||||||
an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
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 Program, 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 Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) 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; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three years,
|
|
||||||
to give any third party, for a charge no more than your cost of
|
|
||||||
physically performing source distribution, a complete machine-readable
|
|
||||||
copy of the corresponding source code, to be distributed under the
|
|
||||||
terms of Sections 1 and 2 above on a medium customarily used for
|
|
||||||
software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer to
|
|
||||||
distribute corresponding source code. (This alternative is allowed
|
|
||||||
only for noncommercial distribution and only if you received the
|
|
||||||
program in object code or executable form with such an offer, in
|
|
||||||
accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, 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 executable. However, as a
|
|
||||||
special exception, the source code 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.
|
|
||||||
|
|
||||||
If distribution of executable or 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 counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program 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.
|
|
||||||
|
|
||||||
5. 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 Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program 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 to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. 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 Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program 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 Program.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program 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.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new
|
|
||||||
versions of the 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 Program
|
|
||||||
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 Program does not specify a
|
|
||||||
version number of this License, you may choose any version ever
|
|
||||||
published by the Free Software Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, 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
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
|
|
||||||
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
|
||||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
|
||||||
OTHER PARTIES PROVIDE THE PROGRAM "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
|
|
||||||
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
|
|
||||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. 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 PROGRAM 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
|
|
||||||
PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
|
|
||||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
|
||||||
DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
2
NOTICE
2
NOTICE
|
@ -1,2 +0,0 @@
|
||||||
Copyright © 2002 Lucent Technologies Inc.
|
|
||||||
All Rights Reserved
|
|
1310
lib/human
Normal file
1310
lib/human
Normal file
File diff suppressed because one or more lines are too long
7
rc/bin/nietzsche
Normal file
7
rc/bin/nietzsche
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/rc
|
||||||
|
if(~ $#* 0)
|
||||||
|
n=`{seq 1 638 | fortune /fd/0}
|
||||||
|
if not
|
||||||
|
n=$*
|
||||||
|
for(i in $n)
|
||||||
|
cat /lib/human | sed -n '/^'$i'\./,/^$/p' | nroff | grep .
|
16
sys/man/1/nietzsche
Normal file
16
sys/man/1/nietzsche
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
.TH NIETZSCHE 1
|
||||||
|
.SH NAME
|
||||||
|
nietzsche \- print out Nietzsche quote
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B nietzsche
|
||||||
|
[
|
||||||
|
.I numbers
|
||||||
|
]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.I Nietzsche
|
||||||
|
cites ``Human, all too human'' by Friedrich Nietzsche.
|
||||||
|
It prints the aphorisms with the numbers given as arguments, or a random one, if no argument is supplied.
|
||||||
|
.SH FILES
|
||||||
|
.B /lib/human
|
||||||
|
.SH SOURCE
|
||||||
|
.B /rc/bin/nietzsche
|
|
@ -1,6 +1,6 @@
|
||||||
.TH BIO 2
|
.TH BIO 2
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Bopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered \- buffered input/output
|
Bopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered, Blethal \- buffered input/output
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.ta \w'Biobuf* 'u
|
.ta \w'Biobuf* 'u
|
||||||
.B #include <u.h>
|
.B #include <u.h>
|
||||||
|
@ -79,7 +79,7 @@ int Bflush(Biobufhdr *bp)
|
||||||
int Bbuffered(Biobufhdr *bp)
|
int Bbuffered(Biobufhdr *bp)
|
||||||
.PP
|
.PP
|
||||||
.B
|
.B
|
||||||
void Blethal(Biobufhdr *bp, void (*errorf)(char *));
|
void Blethal(Biobufhdr *bp, void (*errorf)(char *))
|
||||||
.PP
|
.PP
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
These routines implement fast buffered I/O.
|
These routines implement fast buffered I/O.
|
||||||
|
|
543
sys/src/cmd/fplot.c
Normal file
543
sys/src/cmd/fplot.c
Normal file
|
@ -0,0 +1,543 @@
|
||||||
|
#include <u.h>
|
||||||
|
#include <libc.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <draw.h>
|
||||||
|
#include <event.h>
|
||||||
|
|
||||||
|
typedef struct Op Op;
|
||||||
|
typedef struct Operator Operator;
|
||||||
|
typedef struct Token Token;
|
||||||
|
typedef struct Constant Constant;
|
||||||
|
typedef struct Code Code;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ONONE,
|
||||||
|
ONUMBER,
|
||||||
|
OVAR,
|
||||||
|
OUNARY,
|
||||||
|
OBINARY,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Op {
|
||||||
|
int type;
|
||||||
|
union {
|
||||||
|
void (*f)(void);
|
||||||
|
double val;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
TNONE,
|
||||||
|
TNUMBER,
|
||||||
|
TVAR,
|
||||||
|
TOP,
|
||||||
|
TPARENL,
|
||||||
|
TPARENR,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Token {
|
||||||
|
int type;
|
||||||
|
union {
|
||||||
|
Operator *op;
|
||||||
|
double val;
|
||||||
|
};
|
||||||
|
Token *next;
|
||||||
|
};
|
||||||
|
|
||||||
|
double *stack, *sp;
|
||||||
|
void add(void) { sp--; *sp += *(sp+1); }
|
||||||
|
void sub(void) { sp--; *sp -= *(sp+1); }
|
||||||
|
void mul(void) { sp--; *sp *= *(sp+1); }
|
||||||
|
void div(void) { sp--; *sp /= *(sp+1); }
|
||||||
|
void pot(void) { sp--; *sp = pow(*sp, *(sp+1)); }
|
||||||
|
void osin(void) { *sp = sin(*sp); }
|
||||||
|
void ocos(void) { *sp = cos(*sp); }
|
||||||
|
void otan(void) { *sp = tan(*sp); }
|
||||||
|
void oasin(void) { *sp = asin(*sp); }
|
||||||
|
void oacos(void) { *sp = acos(*sp); }
|
||||||
|
void oatan(void) { *sp = atan(*sp); }
|
||||||
|
void osqrt(void) { *sp = sqrt(*sp); }
|
||||||
|
void olog(void) { *sp = log10(*sp); }
|
||||||
|
void oln(void) { *sp = log(*sp); }
|
||||||
|
|
||||||
|
struct Operator {
|
||||||
|
char *s;
|
||||||
|
char type;
|
||||||
|
char rassoc;
|
||||||
|
short prec;
|
||||||
|
void (*f)(void);
|
||||||
|
} ops[] = {
|
||||||
|
"+", OBINARY, 0, 0, add,
|
||||||
|
"-", OBINARY, 0, 0, sub,
|
||||||
|
"*", OBINARY, 0, 100, mul,
|
||||||
|
"/", OBINARY, 0, 100, div,
|
||||||
|
"^", OBINARY, 1, 200, pot,
|
||||||
|
"sin", OUNARY, 0, 50, osin,
|
||||||
|
"cos", OUNARY, 0, 50, ocos,
|
||||||
|
"tan", OUNARY, 0, 50, otan,
|
||||||
|
"asin", OUNARY, 0, 50, oasin,
|
||||||
|
"acos", OUNARY, 0, 50, oacos,
|
||||||
|
"atan", OUNARY, 0, 50, oatan,
|
||||||
|
"sqrt", OUNARY, 0, 50, osqrt,
|
||||||
|
"log", OUNARY, 0, 50, olog,
|
||||||
|
"ln", OUNARY, 0, 50, oln,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Constant {
|
||||||
|
char *s;
|
||||||
|
double val;
|
||||||
|
} consts[] = {
|
||||||
|
"pi", 3.14159265359,
|
||||||
|
"π", 3.14159265359,
|
||||||
|
"e", 2.71828182846,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Code {
|
||||||
|
Op* p;
|
||||||
|
int len, cap;
|
||||||
|
} *fns;
|
||||||
|
int nfns;
|
||||||
|
|
||||||
|
Token *opstackbot;
|
||||||
|
double xmin = -10, xmax = 10;
|
||||||
|
double ymin = -10, ymax = 10;
|
||||||
|
Image *color;
|
||||||
|
int cflag;
|
||||||
|
char *imagedata;
|
||||||
|
int picx = 640, picy = 480;
|
||||||
|
|
||||||
|
void *
|
||||||
|
emalloc(int size)
|
||||||
|
{
|
||||||
|
void *v;
|
||||||
|
|
||||||
|
v = mallocz(size, 1);
|
||||||
|
if(v == nil)
|
||||||
|
sysfatal("emalloc: %r");
|
||||||
|
setmalloctag(v, getcallerpc(&size));
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
addop(Code *c, Op o)
|
||||||
|
{
|
||||||
|
if(c->len >= c->cap) {
|
||||||
|
c->cap += 32;
|
||||||
|
c->p = realloc(c->p, sizeof(Op) * c->cap);
|
||||||
|
if(c->p == nil)
|
||||||
|
sysfatal("realloc: %r");
|
||||||
|
}
|
||||||
|
c->p[c->len++] = o;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
push(Token *t)
|
||||||
|
{
|
||||||
|
t->next = opstackbot;
|
||||||
|
opstackbot = t;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pop(Code *c)
|
||||||
|
{
|
||||||
|
Token *t;
|
||||||
|
Op o;
|
||||||
|
|
||||||
|
t = opstackbot;
|
||||||
|
if(t == nil)
|
||||||
|
sysfatal("stack underflow");
|
||||||
|
opstackbot = t->next;
|
||||||
|
if(t->type != TOP)
|
||||||
|
sysfatal("non-operator pop");
|
||||||
|
o.type = t->op->type;
|
||||||
|
o.f = t->op->f;
|
||||||
|
addop(c, o);
|
||||||
|
free(t);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
popdel(void)
|
||||||
|
{
|
||||||
|
Token *t;
|
||||||
|
|
||||||
|
t = opstackbot;
|
||||||
|
opstackbot = t->next;
|
||||||
|
free(t);
|
||||||
|
}
|
||||||
|
|
||||||
|
Token *
|
||||||
|
lex(char **s)
|
||||||
|
{
|
||||||
|
Token *t;
|
||||||
|
Operator *o;
|
||||||
|
Constant *c;
|
||||||
|
|
||||||
|
while(isspace(**s))
|
||||||
|
(*s)++;
|
||||||
|
if(**s == 0)
|
||||||
|
return nil;
|
||||||
|
|
||||||
|
t = emalloc(sizeof(*t));
|
||||||
|
if(isdigit(**s)) {
|
||||||
|
t->type = TNUMBER;
|
||||||
|
t->val = strtod(*s, s);
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
if(**s == '(') {
|
||||||
|
t->type = TPARENL;
|
||||||
|
(*s)++;
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
if(**s == ')') {
|
||||||
|
t->type = TPARENR;
|
||||||
|
(*s)++;
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
if(**s == 'x') {
|
||||||
|
t->type = TVAR;
|
||||||
|
(*s)++;
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
for(o = ops; o < ops + nelem(ops); o++)
|
||||||
|
if(strncmp(*s, o->s, strlen(o->s)) == 0) {
|
||||||
|
t->type = TOP;
|
||||||
|
t->op = o;
|
||||||
|
*s += strlen(o->s);
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
for(c = consts; c < consts + nelem(consts); c++)
|
||||||
|
if(strncmp(*s, c->s, strlen(c->s)) == 0) {
|
||||||
|
t->type = TNUMBER;
|
||||||
|
t->val = c->val;
|
||||||
|
*s += strlen(c->s);
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
sysfatal("syntax error at %s", *s);
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
parse(Code *c, char *s)
|
||||||
|
{
|
||||||
|
Token *t;
|
||||||
|
Op o;
|
||||||
|
|
||||||
|
while(t = lex(&s)) {
|
||||||
|
switch(t->type) {
|
||||||
|
case TNUMBER:
|
||||||
|
o.type = ONUMBER;
|
||||||
|
o.val = t->val;
|
||||||
|
addop(c, o);
|
||||||
|
free(t);
|
||||||
|
break;
|
||||||
|
case TVAR:
|
||||||
|
o.type = OVAR;
|
||||||
|
addop(c, o);
|
||||||
|
free(t);
|
||||||
|
break;
|
||||||
|
case TOP:
|
||||||
|
if(t->op->type == OBINARY)
|
||||||
|
while(opstackbot != nil && opstackbot->type == TOP &&
|
||||||
|
(opstackbot->op->prec > t->op->prec ||
|
||||||
|
t->op->rassoc && opstackbot->op->prec == t->op->prec))
|
||||||
|
pop(c);
|
||||||
|
push(t);
|
||||||
|
break;
|
||||||
|
case TPARENL:
|
||||||
|
push(t);
|
||||||
|
break;
|
||||||
|
case TPARENR:
|
||||||
|
while(opstackbot != nil && opstackbot->type == TOP)
|
||||||
|
pop(c);
|
||||||
|
if(opstackbot == nil)
|
||||||
|
sysfatal("mismatched parentheses");
|
||||||
|
popdel();
|
||||||
|
free(t);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sysfatal("unknown token type %d", t->type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(opstackbot != nil)
|
||||||
|
switch(opstackbot->type) {
|
||||||
|
case TOP:
|
||||||
|
pop(c);
|
||||||
|
break;
|
||||||
|
case TPARENL:
|
||||||
|
sysfatal("mismatched parentheses");
|
||||||
|
default:
|
||||||
|
sysfatal("syntax error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
calcstack(Code *c)
|
||||||
|
{
|
||||||
|
int cur, max;
|
||||||
|
Op *o;
|
||||||
|
|
||||||
|
cur = 0;
|
||||||
|
max = 0;
|
||||||
|
for(o = c->p; o < c->p + c->len; o++)
|
||||||
|
switch(o->type) {
|
||||||
|
case ONUMBER: case OVAR:
|
||||||
|
if(++cur > max)
|
||||||
|
max = cur;
|
||||||
|
break;
|
||||||
|
case OUNARY:
|
||||||
|
if(cur == 0)
|
||||||
|
sysfatal("syntax error");
|
||||||
|
break;
|
||||||
|
case OBINARY:
|
||||||
|
if(cur <= 1)
|
||||||
|
sysfatal("syntax error");
|
||||||
|
cur--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(cur != 1)
|
||||||
|
sysfatal("syntax error");
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
double
|
||||||
|
calc(Code *c, double x)
|
||||||
|
{
|
||||||
|
Op *o;
|
||||||
|
|
||||||
|
sp = stack - 1;
|
||||||
|
for(o = c->p; o < c->p + c->len; o++)
|
||||||
|
switch(o->type) {
|
||||||
|
case ONUMBER:
|
||||||
|
*++sp = o->val;
|
||||||
|
break;
|
||||||
|
case OVAR:
|
||||||
|
*++sp = x;
|
||||||
|
break;
|
||||||
|
case OUNARY: case OBINARY:
|
||||||
|
o->f();
|
||||||
|
}
|
||||||
|
return *sp;
|
||||||
|
}
|
||||||
|
|
||||||
|
double
|
||||||
|
convx(Rectangle *r, int x)
|
||||||
|
{
|
||||||
|
return (xmax - xmin) * (x - r->min.x) / (r->max.x - r->min.x) + xmin;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
deconvx(Rectangle *r, double dx)
|
||||||
|
{
|
||||||
|
return (dx - xmin) * (r->max.x - r->min.x) / (xmax - xmin) + r->min.x + 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
double
|
||||||
|
convy(Rectangle *r, int y)
|
||||||
|
{
|
||||||
|
return (ymax - ymin) * (r->max.y - y) / (r->max.y - r->min.y) + ymin;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
deconvy(Rectangle *r, double dy)
|
||||||
|
{
|
||||||
|
return (ymax - dy) * (r->max.y - r->min.y) / (ymax - ymin) + r->min.y + 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pixel(int x, int y)
|
||||||
|
{
|
||||||
|
char *p;
|
||||||
|
|
||||||
|
if(cflag) {
|
||||||
|
if(x >= picx || y >= picy || x < 0 || y < 0)
|
||||||
|
return;
|
||||||
|
p = imagedata + (picx * y + x) * 3;
|
||||||
|
p[0] = p[1] = p[2] = 0;
|
||||||
|
} else
|
||||||
|
draw(screen, Rect(x, y, x + 1, y + 1), color, nil, ZP);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
drawinter(Code *co, Rectangle *r, double x1, double x2, int n)
|
||||||
|
{
|
||||||
|
double y1, y2;
|
||||||
|
int iy1, iy2;
|
||||||
|
int ix1, ix2;
|
||||||
|
|
||||||
|
ix1 = deconvx(r, x1);
|
||||||
|
ix2 = deconvx(r, x2);
|
||||||
|
iy1 = iy2 = 0;
|
||||||
|
y1 = calc(co, x1);
|
||||||
|
if(!isNaN(y1)) {
|
||||||
|
iy1 = deconvy(r, y1);
|
||||||
|
pixel(ix1, iy1);
|
||||||
|
}
|
||||||
|
y2 = calc(co, x2);
|
||||||
|
if(!isNaN(y2)) {
|
||||||
|
iy2 = deconvy(r, y2);
|
||||||
|
pixel(ix2, iy2);
|
||||||
|
}
|
||||||
|
if(isNaN(y1) || isNaN(y2))
|
||||||
|
return;
|
||||||
|
if(n >= 10)
|
||||||
|
return;
|
||||||
|
if(iy2 >= iy1 - 1 && iy2 <= iy1 + 1)
|
||||||
|
return;
|
||||||
|
if(iy1 > r->max.y && iy2 > r->max.y)
|
||||||
|
return;
|
||||||
|
if(iy1 < r->min.y && iy2 < r->min.y)
|
||||||
|
return;
|
||||||
|
drawinter(co, r, x1, (x1 + x2) / 2, n + 1);
|
||||||
|
drawinter(co, r, (x1 + x2) / 2, x2, n + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
drawgraph(Code *co, Rectangle *r)
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
|
||||||
|
for(x = r->min.x; x < r->max.x; x++)
|
||||||
|
drawinter(co, r, convx(r, x), convx(r, x + 1), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
drawgraphs(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
color = display->black;
|
||||||
|
for(i = 0; i < nfns; i++)
|
||||||
|
drawgraph(&fns[i], &screen->r);
|
||||||
|
flushimage(display, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
usage(void)
|
||||||
|
{
|
||||||
|
fprint(2, "usage: fplot [-c [-s size]] [-r range] functions ...\n");
|
||||||
|
exits("usage");
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
zoom(void)
|
||||||
|
{
|
||||||
|
Mouse m;
|
||||||
|
Rectangle r;
|
||||||
|
double xmin_, xmax_, ymin_, ymax_;
|
||||||
|
|
||||||
|
m.buttons = 7;
|
||||||
|
r = egetrect(1, &m);
|
||||||
|
if(r.min.x == 0 && r.min.y == 0 && r.max.x == 0 && r.max.y == 0)
|
||||||
|
return;
|
||||||
|
xmin_ = convx(&screen->r, r.min.x);
|
||||||
|
xmax_ = convx(&screen->r, r.max.x);
|
||||||
|
ymin_ = convy(&screen->r, r.max.y);
|
||||||
|
ymax_ = convy(&screen->r, r.min.y);
|
||||||
|
xmin = xmin_;
|
||||||
|
xmax = xmax_;
|
||||||
|
ymin = ymin_;
|
||||||
|
ymax = ymax_;
|
||||||
|
draw(screen, screen->r, display->white, nil, ZP);
|
||||||
|
drawgraphs();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
parsefns(int n, char **s)
|
||||||
|
{
|
||||||
|
int i, max, cur;
|
||||||
|
|
||||||
|
max = 0;
|
||||||
|
nfns = n;
|
||||||
|
fns = emalloc(sizeof(*fns) * n);
|
||||||
|
for(i = 0; i < nfns; i++) {
|
||||||
|
parse(&fns[i], s[i]);
|
||||||
|
cur = calcstack(&fns[i]);
|
||||||
|
if(cur > max)
|
||||||
|
max = cur;
|
||||||
|
}
|
||||||
|
stack = emalloc(sizeof(*stack) * max);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
parserange(char *s)
|
||||||
|
{
|
||||||
|
while(*s && !isdigit(*s)) s++;
|
||||||
|
if(*s == 0) return;
|
||||||
|
xmin = strtod(s, &s);
|
||||||
|
while(*s && !isdigit(*s)) s++;
|
||||||
|
if(*s == 0) return;
|
||||||
|
xmax = strtod(s, &s);
|
||||||
|
while(*s && !isdigit(*s)) s++;
|
||||||
|
if(*s == 0) return;
|
||||||
|
ymin = strtod(s, &s);
|
||||||
|
while(*s && !isdigit(*s)) s++;
|
||||||
|
if(*s == 0) return;
|
||||||
|
ymax = strtod(s, &s);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
parsesize(char *s)
|
||||||
|
{
|
||||||
|
while(*s && !isdigit(*s)) s++;
|
||||||
|
if(*s == 0) return;
|
||||||
|
picx = strtol(s, &s, 0);
|
||||||
|
while(*s && !isdigit(*s)) s++;
|
||||||
|
if(*s == 0) return;
|
||||||
|
picy = strtol(s, &s, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
Event e;
|
||||||
|
Rectangle r;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
ARGBEGIN {
|
||||||
|
case 'r': parserange(EARGF(usage())); break;
|
||||||
|
case 's': parsesize(EARGF(usage())); break;
|
||||||
|
case 'c': cflag++; break;
|
||||||
|
default: usage();
|
||||||
|
} ARGEND;
|
||||||
|
if(argc < 1)
|
||||||
|
usage();
|
||||||
|
setfcr(getfcr() & ~(FPZDIV | FPINVAL));
|
||||||
|
parsefns(argc, argv);
|
||||||
|
if(cflag) {
|
||||||
|
imagedata = emalloc(picx * picy * 3);
|
||||||
|
memset(imagedata, 0xFF, picx * picy * 3);
|
||||||
|
print("%11s %11d %11d %11d %11d ", "r8g8b8", 0, 0, picx, picy);
|
||||||
|
r.min.x = r.min.y = 0;
|
||||||
|
r.max.x = picx;
|
||||||
|
r.max.y = picy;
|
||||||
|
for(i = 0; i < nfns; i++)
|
||||||
|
drawgraph(&fns[i], &r);
|
||||||
|
if(write(1, imagedata, picx * picy * 3) < picx * picy * 3)
|
||||||
|
sysfatal("write: %r");
|
||||||
|
} else {
|
||||||
|
if(initdraw(nil, nil, "fplot") < 0)
|
||||||
|
sysfatal("initdraw: %r");
|
||||||
|
einit(Emouse | Ekeyboard);
|
||||||
|
drawgraphs();
|
||||||
|
for(;;) {
|
||||||
|
switch(event(&e)) {
|
||||||
|
case Ekeyboard:
|
||||||
|
switch(e.kbdc) {
|
||||||
|
case 'q': exits(nil);
|
||||||
|
case 'z': zoom();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
eresized(int new)
|
||||||
|
{
|
||||||
|
if(new) {
|
||||||
|
if(getwindow(display, Refnone) < 0)
|
||||||
|
sysfatal("getwindow: %r");
|
||||||
|
drawgraphs();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue