buildconf.bat: Move DOS variable clean-up code to separate function

Rather than duplicate future variables, during clean-up of both success
and error conditions, use a common function that can be called by both.
diff --git a/buildconf.bat b/buildconf.bat
index 38e6db3..09c4db6 100644
--- a/buildconf.bat
+++ b/buildconf.bat
@@ -79,6 +79,7 @@
   goto success
 
 rem Main generate function.
+rem
 rem Returns:
 rem
 rem 0 - success
@@ -86,7 +87,6 @@
 rem 2 - failure to generate tool_hugehelp.c
 rem 3 - failure to generate curlbuild.h
 rem
-rem
 :generate
   rem create Makefile
   if exist Makefile.dist (
@@ -162,6 +162,14 @@
 
   exit /B 0
 
+rem Function to clean-up local variables under DOS, Windows 3.x and
+rem Windows 9x as setlocal isn't available until Windows NT
+rem
+:dosCleanup
+  set MODE=
+
+  exit /B
+
 :syntax
   rem Display the help
   echo.
@@ -214,7 +222,7 @@
   if "%OS%" == "Windows_NT" (
     endlocal
   ) else (
-    set MODE=
+    call :dosCleanup
   )
   exit /B 1
 
@@ -222,6 +230,6 @@
   if "%OS%" == "Windows_NT" (
     endlocal
   ) else (
-    set MODE=
+    call :dosCleanup
   )
   exit /B 0