Module Name:    othersrc
Committed By:   agc
Date:           Sat Jun  1 22:26:11 UTC 2013

Added Files:
        othersrc/external/historical/eawk/scripts: bg.sh

Log Message:
add a script to exercise the buffer gap routines


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 othersrc/external/historical/eawk/scripts/bg.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: othersrc/external/historical/eawk/scripts/bg.sh
diff -u /dev/null othersrc/external/historical/eawk/scripts/bg.sh:1.1
--- /dev/null	Sat Jun  1 22:26:11 2013
+++ othersrc/external/historical/eawk/scripts/bg.sh	Sat Jun  1 22:26:11 2013
@@ -0,0 +1,23 @@
+#! /bin/sh
+
+env LD_LIBRARY_PATH=lib:extend/bufgap bin/eawk -v f=$1 '
+BEGIN {
+	use("bufgap");
+	gap = bufgap_alloc();
+	if (bufgap_open(gap, f) == 0) print "phooey#1";
+	for (i = bufgap_size(gap, BGByte) - 1 ; i >= 0 ; --i) {
+		printf("%c", bufgap_peek(gap, 0));
+		bufgap_seek(gap, 1, BGFromHere, BGByte);
+	}
+	printf("\n===========\n");
+	for (i = bufgap_size(gap, BGByte) - 1 ; i >= 0 ; --i) {
+		printf("%c", bufgap_peek(gap, 0));
+		(void) bufgap_seek(gap, -1, BGFromHere, BGByte);
+	}
+	printf("\n===========\n");
+	for (i = bufgap_size(gap, BGByte) - 1 ; i >= 0 ; --i) {
+		printf("%c", bufgap_peek(gap, 0));
+		(void) bufgap_seek(gap, 1, BGFromHere, BGByte);
+	}
+	printf("\n===========\n");
+}'

Reply via email to