Include error library value in C error source files instead of fixing up
at runtime.
This commit is contained in:
parent
37942fab51
commit
bc3cae7e7d
9
CHANGES
9
CHANGES
@ -778,7 +778,14 @@
|
|||||||
differing sizes.
|
differing sizes.
|
||||||
[Richard Levitte]
|
[Richard Levitte]
|
||||||
|
|
||||||
Changes between 0.9.7f and 0.9.7g [XX xxx xxxx]
|
Changes between 0.9.7g and 0.9.7h [XX xxx XXXX]
|
||||||
|
|
||||||
|
*) Include the fixed error library code in the C error file definitions
|
||||||
|
instead of fixing them up at runtime. This keeps the error code
|
||||||
|
structures constant.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
Changes between 0.9.7f and 0.9.7g [11 Apr 2005]
|
||||||
|
|
||||||
*) Fixes for newer kerberos headers. NB: the casts are needed because
|
*) Fixes for newer kerberos headers. NB: the casts are needed because
|
||||||
the 'length' field is signed on one version and unsigned on another
|
the 'length' field is signed on one version and unsigned on another
|
||||||
|
@ -631,6 +631,7 @@ static void err_load_strings(int lib, ERR_STRING_DATA *str)
|
|||||||
{
|
{
|
||||||
while (str->error)
|
while (str->error)
|
||||||
{
|
{
|
||||||
|
if (lib)
|
||||||
str->error|=ERR_PACK(lib,0,0);
|
str->error|=ERR_PACK(lib,0,0);
|
||||||
ERRFN(err_set_item)(str);
|
ERRFN(err_set_item)(str);
|
||||||
str++;
|
str++;
|
||||||
@ -647,6 +648,7 @@ void ERR_unload_strings(int lib, ERR_STRING_DATA *str)
|
|||||||
{
|
{
|
||||||
while (str->error)
|
while (str->error)
|
||||||
{
|
{
|
||||||
|
if (lib)
|
||||||
str->error|=ERR_PACK(lib,0,0);
|
str->error|=ERR_PACK(lib,0,0);
|
||||||
ERRFN(err_del_item)(str);
|
ERRFN(err_del_item)(str);
|
||||||
str++;
|
str++;
|
||||||
|
@ -9,6 +9,9 @@ my $reindex = 0;
|
|||||||
my $dowrite = 0;
|
my $dowrite = 0;
|
||||||
my $staticloader = "";
|
my $staticloader = "";
|
||||||
|
|
||||||
|
my $pack_errcode;
|
||||||
|
my $load_errcode;
|
||||||
|
|
||||||
while (@ARGV) {
|
while (@ARGV) {
|
||||||
my $arg = $ARGV[0];
|
my $arg = $ARGV[0];
|
||||||
if($arg eq "-conf") {
|
if($arg eq "-conf") {
|
||||||
@ -398,6 +401,20 @@ EOF
|
|||||||
$hincf = "\"$hfile\"";
|
$hincf = "\"$hfile\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# If static we know the error code at compile time so use it
|
||||||
|
# in error definitions.
|
||||||
|
|
||||||
|
if ($static)
|
||||||
|
{
|
||||||
|
$pack_errcode = "ERR_LIB_${lib}";
|
||||||
|
$load_errcode = "0";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$pack_errcode = "0";
|
||||||
|
$load_errcode = "ERR_LIB_${lib}";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
open (OUT,">$cfile") || die "Can't open $cfile for writing";
|
open (OUT,">$cfile") || die "Can't open $cfile for writing";
|
||||||
|
|
||||||
@ -468,6 +485,10 @@ EOF
|
|||||||
|
|
||||||
/* BEGIN ERROR CODES */
|
/* BEGIN ERROR CODES */
|
||||||
#ifndef OPENSSL_NO_ERR
|
#ifndef OPENSSL_NO_ERR
|
||||||
|
|
||||||
|
#define ERR_FUNC(func) ERR_PACK($pack_errcode,func,0)
|
||||||
|
#define ERR_REASON(reason) ERR_PACK($pack_errcode,0,reason)
|
||||||
|
|
||||||
static ERR_STRING_DATA ${lib}_str_functs[]=
|
static ERR_STRING_DATA ${lib}_str_functs[]=
|
||||||
{
|
{
|
||||||
EOF
|
EOF
|
||||||
@ -479,7 +500,8 @@ EOF
|
|||||||
if(exists $ftrans{$fn}) {
|
if(exists $ftrans{$fn}) {
|
||||||
$fn = $ftrans{$fn};
|
$fn = $ftrans{$fn};
|
||||||
}
|
}
|
||||||
print OUT "{ERR_PACK(0,$i,0),\t\"$fn\"},\n";
|
# print OUT "{ERR_PACK($pack_errcode,$i,0),\t\"$fn\"},\n";
|
||||||
|
print OUT "{ERR_FUNC($i),\t\"$fn\"},\n";
|
||||||
}
|
}
|
||||||
print OUT <<"EOF";
|
print OUT <<"EOF";
|
||||||
{0,NULL}
|
{0,NULL}
|
||||||
@ -491,6 +513,7 @@ EOF
|
|||||||
# Add each reason code.
|
# Add each reason code.
|
||||||
foreach $i (@reasons) {
|
foreach $i (@reasons) {
|
||||||
my $rn;
|
my $rn;
|
||||||
|
my $rstr = "ERR_REASON($i)";
|
||||||
my $nspc = 0;
|
my $nspc = 0;
|
||||||
if (exists $err_reason_strings{$i}) {
|
if (exists $err_reason_strings{$i}) {
|
||||||
$rn = $err_reason_strings{$i};
|
$rn = $err_reason_strings{$i};
|
||||||
@ -499,9 +522,9 @@ EOF
|
|||||||
$rn = $1;
|
$rn = $1;
|
||||||
$rn =~ tr/_[A-Z]/ [a-z]/;
|
$rn =~ tr/_[A-Z]/ [a-z]/;
|
||||||
}
|
}
|
||||||
$nspc = 40 - length($i) unless length($i) > 40;
|
$nspc = 40 - length($rstr) unless length($rstr) > 40;
|
||||||
$nspc = " " x $nspc;
|
$nspc = " " x $nspc;
|
||||||
print OUT "{${i}${nspc},\"$rn\"},\n";
|
print OUT "{${rstr}${nspc},\"$rn\"},\n";
|
||||||
}
|
}
|
||||||
if($static) {
|
if($static) {
|
||||||
print OUT <<"EOF";
|
print OUT <<"EOF";
|
||||||
@ -518,8 +541,8 @@ ${staticloader}void ERR_load_${lib}_strings(void)
|
|||||||
{
|
{
|
||||||
init=0;
|
init=0;
|
||||||
#ifndef OPENSSL_NO_ERR
|
#ifndef OPENSSL_NO_ERR
|
||||||
ERR_load_strings(ERR_LIB_${lib},${lib}_str_functs);
|
ERR_load_strings($load_errcode,${lib}_str_functs);
|
||||||
ERR_load_strings(ERR_LIB_${lib},${lib}_str_reasons);
|
ERR_load_strings($load_errcode,${lib}_str_reasons);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user