2
* libdpkg - Debian packaging suite library routines
3
* utils.c - Helper functions for dpkg
5
* Copyright © 2001 Wichert Akkerman <wakkerma@debian.org>
7
* This is free software; you can redistribute it and/or modify
8
* it under the terms of version 2 of the GNU General Public
9
* License version 2 as published by the Free Software Foundation.
11
* This is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public
17
* License along with dpkg; if not, write to the Free Software
18
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24
#include <dpkg/i18n.h>
28
#include <dpkg/dpkg.h>
30
/* Reimplementation of the standard ctype.h is* functions. Since gettext
31
* has overloaded the meaning of LC_CTYPE we can't use that to force C
32
* locale, so use these cis* functions instead.
35
return (c>='0') && (c<='9');
39
return ((c>='a') && (c<='z')) || ((c>='A') && (c<='Z'));
45
return (c == '\n' || c == '\t' || c == ' ');
49
fgets_checked(char *buf, size_t bufsz, FILE *f, const char *fn)
53
if (!fgets(buf, bufsz, f)) {
55
ohshite(_("read error in `%.250s'"), fn);
60
ohshit(_("fgets gave an empty string from `%.250s'"), fn);
62
ohshit(_("too-long line or missing newline in `%.250s'"), fn);
69
fgets_must(char *buf, size_t bufsz, FILE *f, const char *fn)
71
int l = fgets_checked(buf, bufsz, f, fn);
74
ohshit(_("unexpected eof reading `%.250s'"), fn);