Index: trunk/bind-import
===================================================================
--- trunk/bind-import	(revision 813)
+++ trunk/bind-import	(revision 814)
@@ -108,5 +108,4 @@
   my ($name) = /^([\w\@_.-]+)\s/;
 
-print "$i ($_)\n\t$name";
 # foo IN A 1.2.3.4
 #   IN A 2.3.4.5
@@ -115,7 +114,20 @@
 # foo.zone. IN A 2.3.4.5
 
+  # "empty" label records inherit the previous label
+  # RRs start in the first column by definition, so leading whitespace indicates an inherited label
+  if (/^\s+/) {
+    # fatal error.  if there is no previous label, we can by definition not set
+    # the current label based on it.  this can only happen on the very first
+    # record, following records will *ALWAYS* have a previous label
+    die "bad first record ($_):  no previous label\n" if !$prevlabel;
+    $name = $prevlabel;
+  }
+
+print "$i ($_)\n\t$name";
 
   # magic name!
   $name = $zname if $name eq '@';
+
+
 
   # append zone name to record name if missing AND not dot-terminated;
@@ -130,17 +142,15 @@
   }
 
-  # fatal error.  if there is no previous label, we can by definition not set
-  # the current label based on it.  this can only happen on the very first
-  # record, following records will *ALWAYS* have a previous label
-  if (/^\s+[A-Z]/) {
-    die "bad first record ($_):  no previous label\n" if !$prevlabel;
-    $name = $prevlabel;
-  }
-
-last if $i > 2;
+
+last if $i > 5;
 
   s/^([\w\@_.-]+)\s+//;
 
+##fixme:  drop curlabel?  not sure it's needed
+$curlabel = $name;
 $prevlabel = $curlabel;
+##todo:  BIND conflates a repeated label with repeating the TTL too.  Matter of opinion whether that's really correct or not.
+
+
 # by convention the optional TTL leads the optional class, but they're apparently swappable.
   my ($ttl) = /^(\d+)?\s/;
