diff --git a/misc/tdlint b/misc/tdlint
new file mode 100755
index 0000000..c0e652b
--- /dev/null
+++ b/misc/tdlint
@@ -0,0 +1,113 @@
+#!/bin/sh
+##############################################################################
+# Copyright (c) 1998 Free Software Foundation, Inc.                          #
+#                                                                            #
+# 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, distribute    #
+# with modifications, 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 and this permission notice 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 ABOVE 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.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey <dickey@clark.net> 1996
+#
+# $Id: tdlint,v 1.5 2000/10/28 20:53:36 tom Exp $
+#
+# Lint-script that allows user's own lint libraries, in addition to the ones
+# installed in the system.
+#
+OPT=""
+DIRS=""
+LIBS=""
+FILES=""
+ARCH=`uname -s`
+if test -z "$ARCH" ; then
+	echo '? uname not found'
+	exit 1
+else
+	case $ARCH in
+	AIX)	set - $* -Nn4000
+		;;
+	IRIX)	set - $* -n -lc
+		;;
+	FreeBSD) set - $* -g -p -u -v -z
+		;;
+	SunOS)
+		case `uname -r` in
+		5.*)	ARCH=Solaris
+			set - $* -n -lc
+			;;
+		esac
+		;;
+	esac
+fi
+# LIBDIR=$HOME/lib/$ARCH/lint ;export LIBDIR
+for p in $HOME/lib/$ARCH/lint /usr/lib/lint /usr/lib
+do
+	if [ -d $p ]
+	then
+		DIRS="$DIRS $p"
+	fi
+done
+#
+while [ $# != 0 ]
+do
+	case $1 in
+	-D*\"*)	;;
+	-L*)
+		DIRS="`echo $1|sed -e 's/^-L//'` $DIRS"
+		;;
+	-l*)
+		lib="llib-l`echo $1 | sed -e 's/^-l//'`.ln"
+		found=no
+		for p in $DIRS
+		do
+			echo -n testing $p/$lib
+			if [ -f $p/$lib ]
+			then
+				LIBS="$LIBS $p/$lib"
+				echo " (ok)"
+				found=yes
+				break
+			fi
+			echo
+		done
+		if [ $found = no ]
+		then
+			echo "ignored library $1"
+		fi
+		;;
+	-n)	if [ -z "$OPT" ]
+		then
+			OPT="-I."
+		fi
+		OPT="$OPT $1"
+		;;
+	-*)	OPT="$OPT $1"
+		;;
+	*)
+		FILES="$FILES $1"
+		;;
+	esac
+	shift
+done
+#
+eval lint $OPT $FILES $LIBS
