diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
commit | ad547a6b5986815fda458221149728d9d9ab1d87 (patch) | |
tree | 16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/seetexk/gripes0.c | |
parent | 947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff) |
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/seetexk/gripes0.c')
-rw-r--r-- | Build/source/texk/seetexk/gripes0.c | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/Build/source/texk/seetexk/gripes0.c b/Build/source/texk/seetexk/gripes0.c new file mode 100644 index 00000000000..eb6792705f6 --- /dev/null +++ b/Build/source/texk/seetexk/gripes0.c @@ -0,0 +1,103 @@ +/* Copyright (c) 1987, 1989, 2012 University of Maryland Department of + Computer Science. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation, the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: The above copyright notice, this permission + notice and the disclaimer statement shall be included in all copies + or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + * Common errors (`gripes'). + */ + +#include "types.h" +#include "error.h" +#include "gripes.h" +#include <stdio.h> + +#ifndef WIN32 +extern int errno; +#endif + +/* + * Cannot allocate memory. + */ +void +GripeOutOfMemory(int n, const char *why) +{ + + error(1, -1, "ran out of memory allocating %d bytes for %s", n, why); + /* NOTREACHED */ +} + +/* + * Cannot get a font. + * RETURNS TO CALLER + */ +void +GripeCannotGetFont(const char *name, i32 mag, i32 dsz, const char *dev, const char *fullname) +{ + int e = errno; + char scale[40]; + + if (mag == dsz) /* no scaling */ + scale[0] = 0; + else + (void) sprintf(scale, " scaled %d", + (int) ((double) mag / (double) dsz * 1000.0 + .5)); + + error(0, e, "no font for %s%s", name, scale); + if (fullname) + error(0, 0, "(wanted, e.g., \"%s\")", fullname); + else { + if (dev) + error(1, 0, "(there are no fonts for the %s engine!)", + dev); + else + error(1, 0, "(I cannot find any fonts!)"); + /* NOTREACHED */ + } +} + +/* + * Font checksums do not match. + * RETURNS TO CALLER + */ +void +GripeDifferentChecksums(const char *font, i32 tfmsum, i32 fontsum) +{ + + error(0, 0, "\ +WARNING: TeX and I have different checksums for font\n\ +\t\"%s\"\n\ +\tPlease notify your TeX maintainer\n\ +\t(TFM checksum = 0%lo, my checksum = 0%lo)", + font, (long)tfmsum, (long)fontsum); +} + +/* + * A font, or several fonts, are missing, so no output. + */ +void +GripeMissingFontsPreventOutput(int n) +{ + static char s[2] = {'s', 0}; + + error(1, 0, "%d missing font%s prevent%s output (sorry)", n, + n > 1 ? s : &s[1], n == 1 ? s : &s[1]); + /* NOTREACHED */ +} |