aboutsummaryrefslogtreecommitdiff
path: root/src/lib/cfuns-c.c.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-09-02 21:56:58 +0000
committerdos-reis <gdr@axiomatics.org>2007-09-02 21:56:58 +0000
commit7eb38fea596969878a33f30e36fe33b125f9c4bd (patch)
tree2e4222a4406fb5ed3d69b781f528b9ac08bb9fbc /src/lib/cfuns-c.c.pamphlet
parent869512ac1dd0bc9c80182cbef6e01b39540fef7f (diff)
downloadopen-axiom-7eb38fea596969878a33f30e36fe33b125f9c4bd.tar.gz
* XSpadFill.c: New. Replace corresponding pamphlet.
* XSpadFill.c.pamphlet: Remove. * XShade.c: New. Replace corresponding pamphlet. * XShade.c.pamphlet: Remove. * XDither.c: New. Replace corresponding pamphlet. * XDither.c.pamphlet: Remove. * wct.c: New. Replace corresponding pamphlet. * wct.c.pamphlet: Remove. * util.c: New. Replace corresponding pamphlet. * util.c.pamphlet: Remove. * spadcolors.c: New. Replace corresponding pamphlet. * spadcolors.c.pamphlet: Remove. * sockio-c.c: New. Replace corresponding pamphlet. * sockio-c.c.pamphlet: Remove. * prt.c: New. Replace corresponding pamphlet. * prt.c.pamphlet: Remove. * pixmap.c: New. Replace corresponding pamphlet. * pixmap.c.pamphlet: Remove. * openpty.c: New. Replace corresponding pamphlet. * openpty.c.pamphlet: Remove. * hash.c: New. Replace corresponding pamphlet. * hash.c.pamphlet: Remove. * halloc.c: New. Replace corresponding pamphlet. * halloc.c.pamphlet: Remove. * fnct_key.c: New. Replace corresponding pamphlet. * fnct_key.c.pamphlet: Remove. * edin.c: New. Replace corresponding pamphlet. * edin.c.pamphlet: Remove. * bsdsignal.c: New. Replace correponding pamphlet. * bsdsignal.c.pamphlet: Remove. * cursor.c: New. Replace corresponding pamphlet. * cursor.c.pamphlet: Remove. * cfuns-c.c: New. Replace corresponding pamphlet. * cfuns-c.c.pamphlet: Remove.
Diffstat (limited to 'src/lib/cfuns-c.c.pamphlet')
-rw-r--r--src/lib/cfuns-c.c.pamphlet285
1 files changed, 0 insertions, 285 deletions
diff --git a/src/lib/cfuns-c.c.pamphlet b/src/lib/cfuns-c.c.pamphlet
deleted file mode 100644
index ad5a97e8..00000000
--- a/src/lib/cfuns-c.c.pamphlet
+++ /dev/null
@@ -1,285 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/lib cfuns-c.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include "axiom-c-macros.h"
-
-#include "cfuns-c.H1"
-
-/* Most versions of Windows don't have the POSIX functions getuid(),
- geteuid(), getgid(), and getegid(). The following definitions are
- approximations, to patch for the deficiencies of Windows
- POSIX interface. */
-
-#if !HAVE_DECL_GETUID
-# define getuid() 0
-#endif
-
-#if !HAVE_DECL_GETGID
-# define getgid() 0
-#endif
-
-#if !HAVE_DECL_GETEUID
-# define geteuid() getuid()
-#endif
-
-#if !HAVE_DECL_GETEGID
-# define getegid() getgid()
-#endif
-
-int
-addtopath(char *dir)
-{
- char *path, *newpath;
-
- path = getenv("PATH");
- if (path == NULL)
- return -1;
-
- newpath = (char *) malloc(1 + strlen(path) + strlen(dir) + strlen("PATH=:"));
- if (newpath == NULL)
- return -1;
-
- sprintf(newpath, "PATH=%s:%s", path, dir);
-
- return putenv(newpath);
-}
-
-/*
- * Test whether the path is the name of a directory. Returns 1 if so, 0 if
- * not, -1 if it doesn't exist.
- */
-
-
-int
-directoryp(char *path)
-{
- struct stat buf;
- int code = stat(path, &buf);
-
- return code == -1 ? -1 : S_ISDIR(buf.st_mode);
-}
-
-int
-make_path_from_file(char *s, char *t)
-{
- char *pos = "";
- char *c;
-
- /** simply copies the path name from t into s **/
- for (c = t + strlen(t); c != s; c--)
- if (*c == '/') {
- pos = c;
- break;
- }
- /** Check to see if the path was actually present **/
- if (c == t) { /** No Path, so return the pwd **/
- return (-1);
- }
- /** now just do the copying **/
- strncpy(s, t, pos - t);
- return 1;
-}
-
-/* The functions writeablep() and readablep() determine write and
- read access of a file designated by its name. The function
- axiom_has_write_access is a sub-routine of writeablep.
-
- The access is determined based on the POSIX semantics; see
- "Advanced Programming in the UNIX Environement", section 4.5.
-
- 1. If the effective user ID of the process is 0 (the superuser),
- access is allowed. This gives the superuser free rein throughout
- the entire file system.
-
- 2. If the effective user ID of the process equals the owner ID of
- the file (i.e., the process owns the file), access is allowed
- if the appropriate user access permission bit is set. [...]
-
- 3. If the effective group ID of the process or one of the
- supplementary group IDs of the process equals the group ID
- of the file, access is allowed if the appropriate
- group access permission bit is set. Otherwise, permission
- is denied.
-
- 4. If the appropriate other access permission bit is set, access is
- allowed. Otherwise, permission is defined. */
-
-
-/* Return 1 if the process has write access of file as explained above.
- Otherwise, return 0. */
-
-static inline int
-axiom_has_write_access(const struct stat* file_info)
-{
- int effetive_uid = geteuid();
-
- if (effetive_uid == 0)
- return 1;
-
- if (effetive_uid == file_info->st_uid)
- return file_info->st_mode & S_IWUSR;
-
-#ifdef S_IWGRP
- if (getegid() == file_info->st_gid)
- return file_info->st_mode & S_IWGRP;
-#endif
-
-#ifdef S_IWOTH
- return file_info->st_mode & S_IWOTH;
-#else
- return 0;
-#endif
-}
-
-
-/* Return
- -1 if the file designated by PATH is inexistent.
- 0 if the file exists but wirte access is denied.
- 1 if the file exists and process has write access.
- 2 if the file does not exists but process has write
- has write access to the dirname of path. */
-
-int
-writeablep(char *path)
-{
- struct stat buf;
- char newpath[100];
- int code;
-
- code = stat(path, &buf);
- if (code == -1) {
- /** The file does not exist, so check to see
- if the directory is writable *****/
- if (make_path_from_file(newpath, path) == -1
- || stat(newpath, &buf) == -1)
- return -1;
-
- return 2 * axiom_has_write_access(&buf);
- }
-
- return axiom_has_write_access(&buf);
-}
-
-
-/* Return
- -1 if the file designated by PATH is inexistent.
- 0 if the file exists but process has no read access.
- 1 if the file exists and read access is granted. */
-
-int
-readablep(char *path)
-{
- struct stat buf;
- int code;
-
- code = stat(path, &buf);
- if (code == -1)
- return -1;
-
- if (geteuid() == buf.st_uid)
- return ((buf.st_mode & S_IREAD) != 0);
-
-#ifdef S_IRGRP
- if (getegid() == buf.st_gid)
- return ((buf.st_mode & S_IRGRP) != 0);
-#endif
-
-#ifdef S_IROTH
- return ((buf.st_mode & S_IROTH) != 0);
-#else
- return 0;
-#endif
-}
-
-
-
-long
-findString(char *file, char *string)
-{
- int nstring, charpos;
- FILE *fn;
- char buffer[1024];
-
- if ((fn = fopen(file, "r")) == NULL)
- return -1;
-
- for (charpos = 0, nstring = strlen(string);
- fgets(buffer, sizeof buffer, fn) != NULL;
- charpos += strlen(buffer)
- )
- if (!strncmp(buffer, string, nstring))
- return charpos;
- return -1;
-
-}
-
-int
-copyEnvValue(char *varName, char *buffer)
-{
- char *s;
-
- s = getenv(varName);
- if (s == NULL)
- return 0;
- strcpy(buffer, s);
- return strlen(s);
-}
-
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}