Submitted by:
[openssl.git] / crypto / err / err_genc.pl
index 87c6da9a6d58646918c42e638e8cae00582c6024..af4d5155e793756c2f8de32ca6c20e53cce66772 100644 (file)
@@ -55,7 +55,7 @@ close(IN);
 
 foreach (sort keys %out)
        {
-       print "static ERR_STRING_DATA ${_}[]=\n\t{\n";
+       print "static ERR_STRING_DATA ${_}\[\]=\n\t{\n";
        print $out{$_};
        print "{0,NULL},\n";
        print "\t};\n\n";
@@ -65,7 +65,23 @@ print "#endif\n";
 if ($static)
        { $lib="ERR_LIB_$type"; }
 else
-       { $lib="${type}_lib_error_code"; }
+       { 
+       print <<"EOF";
+
+#ifdef ${type}_LIB_NAME
+static ERR_STRING_DATA ${type}_lib_name[]=
+        {
+{0     ,${type}_LIB_NAME},
+{0,NULL}
+       };
+#endif
+
+EOF
+       $lib="${type}_lib_error_code"; 
+
+
+
+       }
 
 $str="";
 $str.="#ifndef NO_ERR\n";
@@ -77,7 +93,7 @@ if (!$static)
        {
 print <<"EOF";
 
-static int ${type}_lib_error_code=0;
+int ${type}_lib_error_code=0;
 
 void ERR_load_${type}_strings()
        {
@@ -90,6 +106,10 @@ void ERR_load_${type}_strings()
                {
                init=0;
 $str
+#ifdef ${type}_LIB_NAME
+               ${type}_lib_name->error = ERR_PACK(${type}_lib_error_code,0,0);
+               ERR_load_strings(0,${type}_lib_name);
+#endif;
                }
        }
 
@@ -190,8 +210,8 @@ sub header
 EOF
 
        print "#include <stdio.h>\n";
-       print "#include \"err.h\"\n";
-       print "#include \"$header\"\n";
+       print "#include <openssl/err.h>\n";
+       print "#include <openssl/$header>\n";
        print "\n/* BEGIN ERROR CODES */\n";
        print "#ifndef NO_ERR\n";
        }