macscript: create file if it doesn't exist.
diff --git a/contrib/mactable/macscript b/contrib/mactable/macscript
index 8d807c5..44a4477 100755
--- a/contrib/mactable/macscript
+++ b/contrib/mactable/macscript
@@ -11,20 +11,26 @@
 mac="$2"   # IPv4
 ip="$3"
 
-if [  -n "$DNSMASQ_IAID" ]; then
-  if [ -z "$DNSMASQ_MAC" -a "$action" = "old" ]; then
-       # MAC not known by dnsmasq, probably due to restart.
-       exit 0;
-  fi
-  mac="$DNSMASQ_MAC"   # IPv6
+# ensure it always exists.
+
+if [ ! -f "$STATUS_FILE" ]; then
+  touch "$STATUS_FILE"
 fi
 
+if [  -n "$DNSMASQ_IAID" ]; then
+    mac="$DNSMASQ_MAC"   # IPv6
+fi
+
+# worry about an add or old action when the MAC address is not known:
+# leave any old one in place in that case.
+
 if [ "$action" = "add" -o "$action" = "old" -o "$action" = "del" ]; then
-  if [ -f "$STATUS_FILE" ]; then
+  if [ -n "$mac" -o "$action" = "del" ]; then
     sed "/^${ip//./\.} / d" "$STATUS_FILE" > "$STATUS_FILE".new
+  
+    if [ "$action" = "add" -o "$action" = "old" ]; then
+       echo "$ip $mac" >> "$STATUS_FILE".new
+    fi
+    mv  "$STATUS_FILE".new "$STATUS_FILE" # atomic update.
   fi
-  if [ "$action" = "add" -o "$action" = "old" ]; then
-    echo "$ip $mac" >> "$STATUS_FILE".new
-  fi
-  mv  "$STATUS_FILE".new "$STATUS_FILE" # atomic update.
 fi