URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/newlib-1.10.0/newlib/libc/misc
- from Rev 1010 to Rev 1765
- ↔ Reverse comparison
Rev 1010 → Rev 1765
/ffs.c
0,0 → 1,42
/* |
FUNCTION |
<<ffs>>---find first bit set in a word |
|
INDEX |
ffs |
|
ANSI_SYNOPSIS |
int ffs(int <[word]>); |
|
TRAD_SYNOPSIS |
int ffs(<[word]>); |
|
DESCRIPTION |
|
<<ffs>> returns the first bit set in a word. |
|
RETURNS |
<<ffs>> returns 0 if <[c]> is 0, 1 if <[c]> is odd, 2 if <[c]> is a multiple of |
2, etc. |
|
PORTABILITY |
<<ffs>> is not ANSI C. |
|
No supporting OS subroutines are required. */ |
|
int |
ffs (word) |
int word; |
{ |
int i; |
|
if (!word) |
return 0; |
|
i = 0; |
for (;;) |
{ |
if (((1 << i++) & word) != 0) |
return i; |
} |
} |
/Makefile.in
0,0 → 1,366
# Makefile.in generated automatically by automake 1.4 from Makefile.am |
|
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. |
# This Makefile.in is free software; the Free Software Foundation |
# gives unlimited permission to copy and/or distribute it, |
# with or without modifications, as long as this notice is preserved. |
|
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
# PARTICULAR PURPOSE. |
|
|
|
SHELL = @SHELL@ |
|
srcdir = @srcdir@ |
top_srcdir = @top_srcdir@ |
VPATH = @srcdir@ |
prefix = @prefix@ |
exec_prefix = @exec_prefix@ |
|
bindir = @bindir@ |
sbindir = @sbindir@ |
libexecdir = @libexecdir@ |
datadir = @datadir@ |
sysconfdir = @sysconfdir@ |
sharedstatedir = @sharedstatedir@ |
localstatedir = @localstatedir@ |
libdir = @libdir@ |
infodir = @infodir@ |
mandir = @mandir@ |
includedir = @includedir@ |
oldincludedir = /usr/include |
|
DESTDIR = |
|
pkgdatadir = $(datadir)/@PACKAGE@ |
pkglibdir = $(libdir)/@PACKAGE@ |
pkgincludedir = $(includedir)/@PACKAGE@ |
|
top_builddir = .. |
|
ACLOCAL = @ACLOCAL@ |
AUTOCONF = @AUTOCONF@ |
AUTOMAKE = @AUTOMAKE@ |
AUTOHEADER = @AUTOHEADER@ |
|
INSTALL = @INSTALL@ |
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) |
INSTALL_DATA = @INSTALL_DATA@ |
INSTALL_SCRIPT = @INSTALL_SCRIPT@ |
transform = @program_transform_name@ |
|
NORMAL_INSTALL = : |
PRE_INSTALL = : |
POST_INSTALL = : |
NORMAL_UNINSTALL = : |
PRE_UNINSTALL = : |
POST_UNINSTALL = : |
host_alias = @host_alias@ |
host_triplet = @host@ |
AR = @AR@ |
AS = @AS@ |
CC = @CC@ |
CPP = @CPP@ |
CRT0 = @CRT0@ |
DLLTOOL = @DLLTOOL@ |
EXEEXT = @EXEEXT@ |
LDFLAGS = @LDFLAGS@ |
LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@ |
LIBC_POSIX_LIB = @LIBC_POSIX_LIB@ |
LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@ |
LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@ |
LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@ |
LIBC_SYS_LIB = @LIBC_SYS_LIB@ |
LIBC_UNIX_LIB = @LIBC_UNIX_LIB@ |
LIBTOOL = @LIBTOOL@ |
LN_S = @LN_S@ |
MAINT = @MAINT@ |
MAKEINFO = @MAKEINFO@ |
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@ |
OBJDUMP = @OBJDUMP@ |
PACKAGE = @PACKAGE@ |
RANLIB = @RANLIB@ |
VERSION = @VERSION@ |
aext = @aext@ |
libm_machine_dir = @libm_machine_dir@ |
machine_dir = @machine_dir@ |
newlib_basedir = @newlib_basedir@ |
oext = @oext@ |
sys_dir = @sys_dir@ |
|
AUTOMAKE_OPTIONS = cygnus |
|
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) |
|
LIB_SOURCES = dprintf.c unctrl.c ffs.c |
|
libmisc_la_LDFLAGS = -Xcompiler -nostdlib |
|
@USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = @USE_LIBTOOL_TRUE@libmisc.la |
@USE_LIBTOOL_TRUE@libmisc_la_SOURCES = @USE_LIBTOOL_TRUE@$(LIB_SOURCES) |
@USE_LIBTOOL_TRUE@noinst_DATA = @USE_LIBTOOL_TRUE@objectlist.awk.in |
@USE_LIBTOOL_FALSE@noinst_DATA = |
@USE_LIBTOOL_FALSE@noinst_LIBRARIES = @USE_LIBTOOL_FALSE@lib.a |
@USE_LIBTOOL_FALSE@lib_a_SOURCES = @USE_LIBTOOL_FALSE@$(LIB_SOURCES) |
|
CHEWOUT_FILES = unctrl.def ffs.def |
|
SUFFIXES = .def |
|
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str |
|
TARGETDOC = ../tmp.texi |
|
CLEANFILES = $(CHEWOUT_FILES) *.ref |
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs |
CONFIG_CLEAN_FILES = |
LIBRARIES = $(noinst_LIBRARIES) |
|
|
DEFS = @DEFS@ -I. -I$(srcdir) |
CPPFLAGS = @CPPFLAGS@ |
LIBS = @LIBS@ |
lib_a_LIBADD = |
@USE_LIBTOOL_FALSE@lib_a_OBJECTS = dprintf.o unctrl.o ffs.o |
LTLIBRARIES = $(noinst_LTLIBRARIES) |
|
libmisc_la_LIBADD = |
@USE_LIBTOOL_TRUE@libmisc_la_OBJECTS = dprintf.lo unctrl.lo ffs.lo |
CFLAGS = @CFLAGS@ |
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) |
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) |
CCLD = $(CC) |
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ |
DATA = $(noinst_DATA) |
|
DIST_COMMON = Makefile.am Makefile.in |
|
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
GZIP_ENV = --best |
SOURCES = $(lib_a_SOURCES) $(libmisc_la_SOURCES) |
OBJECTS = $(lib_a_OBJECTS) $(libmisc_la_OBJECTS) |
|
all: all-redirect |
.SUFFIXES: |
.SUFFIXES: .S .c .def .lo .o .s |
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/../../Makefile.shared |
cd $(top_srcdir) && $(AUTOMAKE) --cygnus misc/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status |
cd $(top_builddir) \ |
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
|
|
mostlyclean-noinstLIBRARIES: |
|
clean-noinstLIBRARIES: |
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) |
|
distclean-noinstLIBRARIES: |
|
maintainer-clean-noinstLIBRARIES: |
|
.c.o: |
$(COMPILE) -c $< |
|
.s.o: |
$(COMPILE) -c $< |
|
.S.o: |
$(COMPILE) -c $< |
|
mostlyclean-compile: |
-rm -f *.o core *.core |
|
clean-compile: |
|
distclean-compile: |
-rm -f *.tab.c |
|
maintainer-clean-compile: |
|
.c.lo: |
$(LIBTOOL) --mode=compile $(COMPILE) -c $< |
|
.s.lo: |
$(LIBTOOL) --mode=compile $(COMPILE) -c $< |
|
.S.lo: |
$(LIBTOOL) --mode=compile $(COMPILE) -c $< |
|
mostlyclean-libtool: |
-rm -f *.lo |
|
clean-libtool: |
-rm -rf .libs _libs |
|
distclean-libtool: |
|
maintainer-clean-libtool: |
|
lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES) |
-rm -f lib.a |
$(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD) |
$(RANLIB) lib.a |
|
mostlyclean-noinstLTLIBRARIES: |
|
clean-noinstLTLIBRARIES: |
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) |
|
distclean-noinstLTLIBRARIES: |
|
maintainer-clean-noinstLTLIBRARIES: |
|
libmisc.la: $(libmisc_la_OBJECTS) $(libmisc_la_DEPENDENCIES) |
$(LINK) $(libmisc_la_LDFLAGS) $(libmisc_la_OBJECTS) $(libmisc_la_LIBADD) $(LIBS) |
|
tags: TAGS |
|
ID: $(HEADERS) $(SOURCES) $(LISP) |
list='$(SOURCES) $(HEADERS)'; \ |
unique=`for i in $$list; do echo $$i; done | \ |
awk ' { files[$$0] = 1; } \ |
END { for (i in files) print i; }'`; \ |
here=`pwd` && cd $(srcdir) \ |
&& mkid -f$$here/ID $$unique $(LISP) |
|
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) |
tags=; \ |
here=`pwd`; \ |
list='$(SOURCES) $(HEADERS)'; \ |
unique=`for i in $$list; do echo $$i; done | \ |
awk ' { files[$$0] = 1; } \ |
END { for (i in files) print i; }'`; \ |
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ |
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) |
|
mostlyclean-tags: |
|
clean-tags: |
|
distclean-tags: |
-rm -f TAGS ID |
|
maintainer-clean-tags: |
|
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) |
|
subdir = misc |
|
distdir: $(DISTFILES) |
@for file in $(DISTFILES); do \ |
if test -f $$file; then d=.; else d=$(srcdir); fi; \ |
if test -d $$d/$$file; then \ |
cp -pr $$d/$$file $(distdir)/$$file; \ |
else \ |
test -f $(distdir)/$$file \ |
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ |
|| cp -p $$d/$$file $(distdir)/$$file || :; \ |
fi; \ |
done |
info-am: |
info: info-am |
dvi-am: |
dvi: dvi-am |
check-am: |
check: check-am |
installcheck-am: |
installcheck: installcheck-am |
install-info-am: |
install-info: install-info-am |
install-exec-am: |
install-exec: install-exec-am |
|
install-data-am: |
install-data: install-data-am |
|
install-am: all-am |
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am |
install: install-am |
uninstall-am: |
uninstall: uninstall-am |
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) |
all-redirect: all-am |
install-strip: |
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install |
installdirs: |
|
|
mostlyclean-generic: |
|
clean-generic: |
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) |
|
distclean-generic: |
-rm -f Makefile $(CONFIG_CLEAN_FILES) |
-rm -f config.cache config.log stamp-h stamp-h[0-9]* |
|
maintainer-clean-generic: |
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ |
mostlyclean-libtool mostlyclean-noinstLTLIBRARIES \ |
mostlyclean-tags mostlyclean-generic |
|
mostlyclean: mostlyclean-am |
|
clean-am: clean-noinstLIBRARIES clean-compile clean-libtool \ |
clean-noinstLTLIBRARIES clean-tags clean-generic \ |
mostlyclean-am |
|
clean: clean-am |
|
distclean-am: distclean-noinstLIBRARIES distclean-compile \ |
distclean-libtool distclean-noinstLTLIBRARIES \ |
distclean-tags distclean-generic clean-am |
-rm -f libtool |
|
distclean: distclean-am |
|
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ |
maintainer-clean-compile maintainer-clean-libtool \ |
maintainer-clean-noinstLTLIBRARIES \ |
maintainer-clean-tags maintainer-clean-generic \ |
distclean-am |
@echo "This command is intended for maintainers to use;" |
@echo "it deletes files that may require special tools to rebuild." |
|
maintainer-clean: maintainer-clean-am |
|
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ |
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ |
mostlyclean-compile distclean-compile clean-compile \ |
maintainer-clean-compile mostlyclean-libtool distclean-libtool \ |
clean-libtool maintainer-clean-libtool mostlyclean-noinstLTLIBRARIES \ |
distclean-noinstLTLIBRARIES clean-noinstLTLIBRARIES \ |
maintainer-clean-noinstLTLIBRARIES tags mostlyclean-tags distclean-tags \ |
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \ |
check-am installcheck-am installcheck install-info-am install-info \ |
install-exec-am install-exec install-data-am install-data install-am \ |
install uninstall-am uninstall all-redirect all-am all installdirs \ |
mostlyclean-generic distclean-generic clean-generic \ |
maintainer-clean-generic clean mostlyclean distclean maintainer-clean |
|
|
objectlist.awk.in: $(noinst_LTLIBRARIES) |
-rm -f objectlist.awk.in |
for i in `ls *.lo` ; \ |
do \ |
echo $$i `pwd`/$$i >> objectlist.awk.in ; \ |
done |
|
.c.def: |
$(CHEW) < $< > $*.def 2> $*.ref |
touch stmp-def |
|
doc: $(CHEWOUT_FILES) |
cat $(srcdir)/misc.tex >> $(TARGETDOC) |
|
# Tell versions [3.59,3.63) of GNU make to not export all variables. |
# Otherwise a system limit (for SysV at least) may be exceeded. |
.NOEXPORT: |
/dprintf.c
0,0 → 1,266
/* Debugging printf, for debugging the library itself. |
|
We don't assume stdio is working. |
We do assume _write_r is working. |
*/ |
|
#include "ctype.h" |
#include "reent.h" |
#include "string.h" |
#include "unctrl.h" |
|
#ifdef __STDC__ |
#include "stdarg.h" |
#else |
#include "varargs.h" |
#endif |
|
static char *parse_number (); |
static long get_number (); |
static void print_number (); |
static void write_char (); |
static void write_string (); |
|
/* Non-zero for big-endian systems. */ |
static int big_endian_p; |
|
/* For now hardcode 2 (stderr) as the console file descriptor. |
May wish to let the caller pass in a file descriptor or some such but |
this is only for debugging purposes anyway. */ |
#define CONSOLE_FD 2 |
|
/* Standalone printf routine. |
|
The format string has been enhanced so that multiple values can be dumped |
without having to have a %-field for each one (say if you want to dump |
20 words at a certain address). A modifier of `N' says the next argument |
is a count, and the one after that is a pointer. |
|
Example: __dprintf (stderr, "%Nx\n", 20, p); /-* print 20 ints at `p' *-/ |
|
Supported formats are: c d u x s p. |
|
All ints are retrieved a byte at a time so alignment issues are not |
a problem. |
|
This routine is used in situations where the only debugging capability |
is console output and was written to aid debugging newlib itself. We don't |
use printf ourselves as we may be debugging it. We do assume _write_r is |
working. |
*/ |
|
void |
#ifdef __STDC__ |
__dprintf (char *fmt, ...) |
#else |
__dprintf (fmt, va_alist) |
char *fmt; |
va_dcl |
#endif |
{ |
va_list args; |
|
/* Which endian are we? */ |
{ |
short tmp = 1; |
big_endian_p = *(char *) &tmp == 0; |
} |
|
#ifdef __STDC__ |
va_start (args, fmt); |
#else |
va_start (args); |
#endif |
|
while (*fmt) |
{ |
char c, *p; |
int count; |
long l; |
|
if (*fmt != '%' || *++fmt == '%') |
{ |
write_char (*fmt++); |
continue; |
} |
|
if (*fmt == 'N') |
{ |
count = va_arg (args, int); |
p = va_arg (args, char *); |
++fmt; |
c = *fmt++; |
|
while (--count >= 0) |
{ |
switch (c) |
{ |
case 'c' : |
write_string (unctrl (*p++)); |
break; |
case 'p' : |
print_number (16, 1, get_number (p, sizeof (char *), 1)); |
p += sizeof (char *); |
break; |
case 'd' : |
case 'u' : |
case 'x' : |
print_number (c == 'x' ? 16 : 10, c != 'd', |
get_number (p, sizeof (int), c != 'd')); |
p += sizeof (int); |
break; |
case 's' : |
write_string (*(char **) p); |
p += sizeof (char *); |
break; |
} |
if (count > 0) |
write_char (' '); |
} |
} |
else |
{ |
switch (c = *fmt++) |
{ |
case 'c' : |
c = va_arg (args, int); |
write_string (unctrl (c)); |
break; |
case 'p' : |
l = (_POINTER_INT) va_arg (args, char *); |
print_number (16, 1, l); |
break; |
case 'd' : |
case 'u' : |
case 'x' : |
l = va_arg (args, int); |
print_number (c == 'x' ? 16 : 10, c != 'd', l); |
break; |
case 's' : |
p = va_arg (args, char *); |
write_string (p); |
break; |
} |
} |
} |
|
va_end (args); |
} |
|
/* Parse a positive decimal integer at S. |
FIXME: Was used in earlier version, but not currently used. |
Keep for now. */ |
|
static char * |
parse_number (s, p) |
char *s; |
long *p; |
{ |
long x = 0; |
|
while (isdigit (*s)) |
{ |
x = (x * 10) + (*s - '0'); |
++s; |
} |
|
*p = x; |
return s; |
} |
|
/* Fetch the number at S of SIZE bytes. */ |
|
static long |
get_number (s, size, unsigned_p) |
char *s; |
long size; |
int unsigned_p; |
{ |
long x; |
unsigned char *p = (unsigned char *) s; |
|
switch (size) |
{ |
case 1 : |
x = *p; |
if (!unsigned_p) |
x = (x ^ 0x80) - 0x80; |
return x; |
case 2 : |
if (big_endian_p) |
x = (p[0] << 8) | p[1]; |
else |
x = (p[1] << 8) | p[0]; |
if (!unsigned_p) |
x = (x ^ 0x8000) - 0x8000; |
return x; |
case 4 : |
if (big_endian_p) |
x = ((long)p[0] << 24) | ((long)p[1] << 16) | (p[2] << 8) | p[3]; |
else |
x = ((long)p[3] << 24) | ((long)p[2] << 16) | (p[1] << 8) | p[0]; |
if (!unsigned_p) |
x = (x ^ 0x80000000L) - 0x80000000L; |
return x; |
#if 0 /* FIXME: Is there a standard mechanism for knowing if |
long longs exist? */ |
case 8 : |
#endif |
default : |
return 0; |
} |
} |
|
/* Print X in base BASE. */ |
|
static void |
print_number (base, unsigned_p, n) |
int base; |
int unsigned_p; |
long n; |
{ |
static char chars[16] = "0123456789abcdef"; |
char *p, buf[32]; |
unsigned long x; |
|
if (!unsigned_p && n < 0) |
{ |
write_char ('-'); |
x = -n; |
} |
else |
x = n; |
|
p = buf + sizeof (buf); |
*--p = '\0'; |
do |
{ |
*--p = chars[x % base]; |
x /= base; |
} |
while (x != 0); |
|
write_string (p); |
} |
|
/* Write C to the console. |
We go through the file descriptor directly because we can't assume |
stdio is working. */ |
|
static void |
write_char (c) |
char c; |
{ |
_write_r (_REENT, CONSOLE_FD, &c, 1); |
} |
|
/* Write S to the console. |
We go through the file descriptor directly because we can't assume |
stdio is working. */ |
|
static void |
write_string (s) |
char *s; |
{ |
_write_r (_REENT, CONSOLE_FD, s, strlen (s)); |
} |
/unctrl.c
0,0 → 1,146
/* |
FUNCTION |
<<unctrl>>---translate characters to upper case |
|
INDEX |
unctrl |
INDEX |
unctrllen |
|
ANSI_SYNOPSIS |
#include <unctrl.h> |
char *unctrl(int <[c]>); |
int unctrllen(int <[c]>); |
|
TRAD_SYNOPSIS |
#include <unctrl.h> |
char *unctrl(<[c]>); |
int unctrllen(<[c]>); |
|
DESCRIPTION |
<<unctrl>> is a macro which returns the printable representation of <[c]> |
as a string. |
<<unctrllen>> is a macro which returns the length of the printable |
representation of <[c]>. |
|
RETURNS |
<<unctrl>> returns a string of the printable representation of <[c]>. |
|
<<unctrllen>> returns the length of the string which is the printable |
representation of <[c]>. |
|
PORTABILITY |
<<unctrl>> and <<unctrllen>> are not ANSI C. |
|
No supporting OS subroutines are required. |
*/ |
|
/* |
* Copyright (c) 1981, 1993 |
* The Regents of the University of California. All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. 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. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. |
*/ |
|
#include <_ansi.h> |
|
#if defined(LIBC_SCCS) && !defined(lint) |
static char sccsid[] = "@(#)unctrl.c 8.1 (Berkeley) 6/4/93"; |
#endif /* LIBC_SCCS and not lint */ |
|
_CONST char * _CONST __unctrl[256] = { |
"^@", "^A", "^B", "^C", "^D", "^E", "^F", "^G", |
"^H", "^I", "^J", "^K", "^L", "^M", "^N", "^O", |
"^P", "^Q", "^R", "^S", "^T", "^U", "^V", "^W", |
"^X", "^Y", "^Z", "^[", "^\\", "^]", "^~", "^_", |
" ", "!", "\"", "#", "$", "%", "&", "'", |
"(", ")", "*", "+", ",", "-", ".", "/", |
"0", "1", "2", "3", "4", "5", "6", "7", |
"8", "9", ":", ";", "<", "=", ">", "?", |
"@", "A", "B", "C", "D", "E", "F", "G", |
"H", "I", "J", "K", "L", "M", "N", "O", |
"P", "Q", "R", "S", "T", "U", "V", "W", |
"X", "Y", "Z", "[", "\\", "]", "^", "_", |
"`", "a", "b", "c", "d", "e", "f", "g", |
"h", "i", "j", "k", "l", "m", "n", "o", |
"p", "q", "r", "s", "t", "u", "v", "w", |
"x", "y", "z", "{", "|", "}", "~", "^?", |
|
"0x80", "0x81", "0x82", "0x83", "0x84", "0x85", "0x86", "0x87", |
"0x88", "0x89", "0x8a", "0x8b", "0x8c", "0x8d", "0x8e", "0x8f", |
"0x90", "0x91", "0x92", "0x93", "0x94", "0x95", "0x96", "0x97", |
"0x98", "0x99", "0x9a", "0x9b", "0x9c", "0x9d", "0x9e", "0x9f", |
"0xa0", "0xa1", "0xa2", "0xa3", "0xa4", "0xa5", "0xa6", "0xa7", |
"0xa8", "0xa9", "0xaa", "0xab", "0xac", "0xad", "0xae", "0xaf", |
"0xb0", "0xb1", "0xb2", "0xb3", "0xb4", "0xb5", "0xb6", "0xb7", |
"0xb8", "0xb9", "0xba", "0xbb", "0xbc", "0xbd", "0xbe", "0xbf", |
"0xc0", "0xc1", "0xc2", "0xc3", "0xc4", "0xc5", "0xc6", "0xc7", |
"0xc8", "0xc9", "0xca", "0xcb", "0xcc", "0xcd", "0xce", "0xcf", |
"0xd0", "0xd1", "0xd2", "0xd3", "0xd4", "0xd5", "0xd6", "0xd7", |
"0xd8", "0xd9", "0xda", "0xdb", "0xdc", "0xdd", "0xde", "0xdf", |
"0xe0", "0xe1", "0xe2", "0xe3", "0xe4", "0xe5", "0xe6", "0xe7", |
"0xe8", "0xe9", "0xea", "0xeb", "0xec", "0xed", "0xee", "0xef", |
"0xf0", "0xf1", "0xf2", "0xf3", "0xf4", "0xf5", "0xf6", "0xf7", |
"0xf8", "0xf9", "0xfa", "0xfb", "0xfc", "0xfd", "0xfe", "0xff", |
}; |
|
_CONST char __unctrllen[256] = { |
2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 2, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
4, 4, 4, 4, 4, 4, 4, 4, |
}; |
/Makefile.am
0,0 → 1,38
## Process this file with automake to generate Makefile.in |
|
AUTOMAKE_OPTIONS = cygnus |
|
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) |
|
LIB_SOURCES = dprintf.c unctrl.c ffs.c |
|
libmisc_la_LDFLAGS = -Xcompiler -nostdlib |
|
if USE_LIBTOOL |
noinst_LTLIBRARIES = libmisc.la |
libmisc_la_SOURCES = $(LIB_SOURCES) |
noinst_DATA = objectlist.awk.in |
else |
noinst_LIBRARIES = lib.a |
lib_a_SOURCES = $(LIB_SOURCES) |
noinst_DATA = |
endif # USE_LIBTOOL |
|
include $(srcdir)/../../Makefile.shared |
|
CHEWOUT_FILES = unctrl.def ffs.def |
|
SUFFIXES = .def |
|
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str |
|
.c.def: |
$(CHEW) < $< > $*.def 2> $*.ref |
touch stmp-def |
|
TARGETDOC = ../tmp.texi |
|
doc: $(CHEWOUT_FILES) |
cat $(srcdir)/misc.tex >> $(TARGETDOC) |
|
CLEANFILES = $(CHEWOUT_FILES) *.ref |
/misc.tex
0,0 → 1,10
@node Misc |
@chapter Miscellaneous Macros and Functions |
This chapter describes miscellaneous routines not covered elsewhere. |
|
@menu |
* unctrl:: Return printable representation of a character |
@end menu |
|
@page |
@include misc/unctrl.def |