summaryrefslogtreecommitdiffstats
path: root/rfc1035/rfc1035gettxt.c
diff options
context:
space:
mode:
authorSam Varshavchik2013-08-19 16:39:41 -0400
committerSam Varshavchik2013-08-25 14:43:51 -0400
commit9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch)
tree7a81a04cb51efb078ee350859a64be2ebc6b8813 /rfc1035/rfc1035gettxt.c
parenta9520698b770168d1f33d6301463bb70a19655ec (diff)
downloadcourier-libs-9c45d9ad13fdf439d44d7443ae75da15ea0223ed.tar.bz2
Initial checkin
Imported from subversion report, converted to git. Updated all paths in scripts and makefiles, reflecting the new directory hierarchy.
Diffstat (limited to 'rfc1035/rfc1035gettxt.c')
-rw-r--r--rfc1035/rfc1035gettxt.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/rfc1035/rfc1035gettxt.c b/rfc1035/rfc1035gettxt.c
new file mode 100644
index 0000000..4af5506
--- /dev/null
+++ b/rfc1035/rfc1035gettxt.c
@@ -0,0 +1,30 @@
+/*
+** Copyright 1998 - 2000 Double Precision, Inc.
+** See COPYING for distribution information.
+*/
+
+#include "rfc1035.h"
+#include <string.h>
+
+
+int rfc1035_rr_gettxt(struct rfc1035_rr *p, int startpos, char buf[256])
+{
+unsigned l;
+
+ if (startpos < 0 || (unsigned)startpos >= p->rdlength ||
+ p->rdlength - (unsigned)startpos <=
+ (l=(unsigned)(unsigned char)p->rdata[startpos]))
+ {
+ buf[0]=0;
+ return (-1);
+ }
+
+ ++startpos;
+
+ memcpy(buf, p->rdata + startpos, l);
+ buf[l]=0;
+ startpos += l;
+ if (startpos >= p->rdlength)
+ startpos= -1;
+ return (startpos);
+}