Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asn1c
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
asn1c
Commits
a460ba3f
Commit
a460ba3f
authored
Oct 20, 2004
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
things necessary for Sun Solaris 9 @ sparc
parent
cc11653d
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
76 additions
and
52 deletions
+76
-52
ChangeLog
ChangeLog
+4
-2
asn1c/check-parsing.sh
asn1c/check-parsing.sh
+3
-1
asn1c/tests/Makefile.am
asn1c/tests/Makefile.am
+1
-1
asn1c/tests/Makefile.in
asn1c/tests/Makefile.in
+1
-1
asn1c/tests/check-assembly.sh
asn1c/tests/check-assembly.sh
+7
-4
libasn1compiler/asn1c_out.c
libasn1compiler/asn1c_out.c
+17
-23
libasn1fix/asn1fix_misc.c
libasn1fix/asn1fix_misc.c
+5
-3
skeletons/GeneralizedTime.c
skeletons/GeneralizedTime.c
+9
-2
skeletons/REAL.c
skeletons/REAL.c
+2
-2
skeletons/asn_types.h
skeletons/asn_types.h
+13
-3
skeletons/tests/check-GeneralizedTime.c
skeletons/tests/check-GeneralizedTime.c
+10
-6
skeletons/tests/check-UTCTime.c
skeletons/tests/check-UTCTime.c
+4
-4
No files found.
ChangeLog
View file @
a460ba3f
0.9.8: 2004-Oct-
13
0.9.8: 2004-Oct-
20
* -X command line option added to asn1c to generate XML DTD.
* Empty SEQUENCE and SET clauses are now allowed.
* Code compiled and tested on Sun Solaris 9 @ sparc.
Improved includes/defines of/for system headers.
0.9.7.1: 2004-Oct-12
...
...
@@ -200,7 +202,7 @@
* Compiler: fixed recursive ASN.1 types inclusion (Severity: low,
Security impact: none).
* Parser: IMPORTS/FROM fixes, now allowing multiple sections.
* Code compiled and
checked on PowerPC (@MacOS X
). No major portability
* Code compiled and
tested on MacOS X (@ PowerPC
). No major portability
issues experienced.
0.8.7: 2004-Apr-11 T-version-0-8-7
...
...
asn1c/check-parsing.sh
View file @
a460ba3f
...
...
@@ -2,6 +2,8 @@
tmpfile
=
".check-parsing.
$$
.tmp"
diff
-a
.
.
2>/dev/null
&&
diffArgs
=
"-a"
ec
=
0
for
ref
in
../tests/
*
.asn1.-
*
;
do
...
...
@@ -10,7 +12,7 @@ for ref in ../tests/*.asn1.-*; do
echo
"Checking
$src
against
$ref
"
./asn1c
"-
$flags
"
"
$src
"
>
"
$tmpfile
"
||
ec
=
$?
if
[
$?
=
0
]
;
then
diff
-a
-u
"
$ref
"
"
$tmpfile
"
||
ec
=
$?
diff
$diffArgs
-u
"
$ref
"
"
$tmpfile
"
||
ec
=
$?
fi
if
[
"
$1
"
!=
"regenerate"
]
;
then
rm
-f
"
$tmpfile
"
...
...
asn1c/tests/Makefile.am
View file @
a460ba3f
...
...
@@ -3,7 +3,7 @@ AM_CFLAGS = @ADD_CFLAGS@
check_SCRIPTS
=
check-assembly.sh
TESTS_ENVIRONMENT
=
CFLAGS
=
"
${CFLAGS}
"
CXXFLAGS
=
"
${CXXFLAGS}
"
./check-assembly.sh
TESTS_ENVIRONMENT
=
C
C
=
"
${CC}
"
C
FLAGS
=
"
${CFLAGS}
"
CXXFLAGS
=
"
${CXXFLAGS}
"
./check-assembly.sh
if
CPLUSPLUS_FOUND
TESTS
=
check-
*
.c check-
*
.cc
## Include C++ test filed
(
.cc
)
...
...
asn1c/tests/Makefile.in
View file @
a460ba3f
...
...
@@ -157,7 +157,7 @@ target_os = @target_os@
target_vendor
=
@target_vendor@
AM_CFLAGS
=
@ADD_CFLAGS@
check_SCRIPTS
=
check-assembly.sh
TESTS_ENVIRONMENT
=
CFLAGS
=
"
${CFLAGS}
"
CXXFLAGS
=
"
${CXXFLAGS}
"
./check-assembly.sh
TESTS_ENVIRONMENT
=
C
C
=
"
${CC}
"
C
FLAGS
=
"
${CFLAGS}
"
CXXFLAGS
=
"
${CXXFLAGS}
"
./check-assembly.sh
@CPLUSPLUS_FOUND_FALSE@
TESTS
=
check-
*
.c
@CPLUSPLUS_FOUND_TRUE@
TESTS
=
check-
*
.c check-
*
.cc
## Include C++ test filed
(
.cc
)
EXTRA_DIST
=
\
...
...
asn1c/tests/check-assembly.sh
View file @
a460ba3f
...
...
@@ -11,10 +11,10 @@ if [ "x$1" = "x" ]; then
fi
# Compute the .asn1 spec name by the given file name.
source
=
$(
echo
"
$1
"
|
sed
-e
's/.*\///'
)
source
=
`
echo
"
$1
"
|
sed
-e
's/.*\///'
`
testno
=
`
echo
"
$source
"
|
cut
-f2
-d
'-'
|
cut
-f1
-d
'.'
`
args
=
$(
echo
"
$source
"
|
sed
-e
's/\.c[c]*$//'
)
args
=
`
echo
"
$source
"
|
sed
-e
's/\.c[c]*$//'
`
testdir
=
test-
${
args
}
OFS
=
$IFS
...
...
@@ -30,9 +30,10 @@ if [ ! -d $testdir ]; then
mkdir
$testdir
||
exit
$?
fi
cd
$testdir
||
exit
$?
ln
-fs
../
$source
||
exit
$?
rm
-f
./
$source
2>/dev/null
ln
-fns
../
$source
||
exit
$?
asn_module
=
$(
echo
../../../tests/
${
testno
}
-
*
.asn1
)
asn_module
=
`
echo
../../../tests/
${
testno
}
-
*
.asn1
`
# Create a Makefile for the project.
cat
>
Makefile
<<
EOM
...
...
@@ -42,6 +43,8 @@ COMMON_FLAGS= -I. -DEMIT_ASN_DEBUG
CFLAGS=
\$
{COMMON_FLAGS}
${
CFLAGS
}
CXXFLAGS=
\$
{COMMON_FLAGS}
${
CXXFLAGS
}
CC=
${
CC
}
all: check-executable
check-executable: compiled-module *.c*
@rm -f *.core
...
...
libasn1compiler/asn1c_out.c
View file @
a460ba3f
...
...
@@ -12,7 +12,6 @@ asn1c_compiled_output(arg_t *arg, const char *fmt, ...) {
int
lf_found
;
va_list
ap
;
out_chunk_t
*
m
;
char
*
buf
;
int
ret
;
switch
(
arg
->
target
->
target
)
{
...
...
@@ -48,35 +47,30 @@ asn1c_compiled_output(arg_t *arg, const char *fmt, ...) {
if
(
lf_found
)
dst
->
indented
=
0
;
/*
* Estimate necessary size.
*/
buf
=
""
;
va_start
(
ap
,
fmt
);
ret
=
vsnprintf
(
buf
,
0
,
fmt
,
ap
);
va_end
(
ap
);
assert
(
ret
>=
0
);
/*
* Allocate buffer.
*/
m
=
calloc
(
1
,
sizeof
(
out_chunk_t
));
if
(
m
==
NULL
)
return
-
1
;
m
->
len
=
ret
+
1
;
m
->
buf
=
malloc
(
ret
+
1
);
if
(
m
->
buf
==
NULL
)
{
free
(
m
);
return
-
1
;
}
/*
* Fill the buffer.
*/
va_start
(
ap
,
fmt
);
ret
=
vsnprintf
(
m
->
buf
,
m
->
len
,
fmt
,
ap
);
assert
(
ret
<
m
->
len
);
m
->
len
=
16
;
do
{
void
*
tmp
;
m
->
len
<<=
2
;
tmp
=
realloc
(
m
->
buf
,
m
->
len
);
if
(
tmp
)
{
m
->
buf
=
(
char
*
)
tmp
;
}
else
{
free
(
m
->
buf
);
free
(
m
);
return
-
1
;
}
va_start
(
ap
,
fmt
);
ret
=
vsnprintf
(
m
->
buf
,
m
->
len
,
fmt
,
ap
);
va_end
(
ap
);
}
while
(
ret
>=
(
m
->
len
-
1
)
||
ret
<
0
);
m
->
len
=
ret
;
va_end
(
ap
);
if
(
arg
->
target
->
target
==
OT_INCLUDES
)
{
out_chunk_t
*
v
;
...
...
libasn1fix/asn1fix_misc.c
View file @
a460ba3f
...
...
@@ -345,9 +345,11 @@ asn1f_make_known_external_type(const char *type_name) {
int
asn1f_check_known_external_type
(
const
char
*
type_name
)
{
void
*
p
=
bsearch
(
&
type_name
,
known_types
,
known_types_count
,
sizeof
(
known_types
[
0
]),
_known_types_cmp
);
if
(
p
)
return
0
;
if
(
known_types_count
)
{
void
*
p
=
bsearch
(
&
type_name
,
known_types
,
known_types_count
,
sizeof
(
known_types
[
0
]),
_known_types_cmp
);
if
(
p
)
return
0
;
}
errno
=
ESRCH
;
return
-
1
;
}
...
...
skeletons/GeneralizedTime.c
View file @
a460ba3f
...
...
@@ -2,6 +2,8 @@
* Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
#define _POSIX_PTHREAD_SEMANTICS
/* for Sun */
#define _REENTRANT
/* for Sun */
#include <asn_internal.h>
#include <GeneralizedTime.h>
#include <time.h>
...
...
@@ -34,10 +36,15 @@ static struct tm *gmtime_r(const time_t *tloc, struct tm *result) {
}
#define tzset() _tzset()
#define putenv() _putenv()
#define _EMULATE_TIMEGM
#endif
/* WIN32 */
#if defined(sun)
#define _EMULATE_TIMEGM
#endif
/*
* Where to look for offset from GMT, Phase I.
* Several platforms are known.
...
...
@@ -87,7 +94,7 @@ static time_t timegm(struct tm *tm) {
char
*
buf
;
tz
=
getenv
(
"TZ"
);
_
putenv
(
"TZ=UTC"
);
putenv
(
"TZ=UTC"
);
tzset
();
tloc
=
mktime
(
tm
);
if
(
tz
)
{
...
...
@@ -97,7 +104,7 @@ static time_t timegm(struct tm *tm) {
}
else
{
buf
=
"TZ="
;
}
_
putenv
(
buf
);
putenv
(
buf
);
tzset
();
return
tloc
;
}
...
...
skeletons/REAL.c
View file @
a460ba3f
...
...
@@ -57,7 +57,7 @@ REAL__dump(double d, int canonical, asn_app_consume_bytes_f *cb, void *app_key)
buf
=
"<NOT-A-NUMBER/>"
;
buflen
=
15
;
return
(
cb
(
buf
,
buflen
,
app_key
)
<
0
)
?
-
1
:
buflen
;
}
else
if
(
isinf
(
d
))
{
}
else
if
(
!
finite
(
d
))
{
if
(
copysign
(
1
.
0
,
d
)
<
0
.
0
)
{
buf
=
"<MINUS-INFINITY/>"
;
buflen
=
17
;
...
...
@@ -416,7 +416,7 @@ asn_double2REAL(REAL_t *st, double dbl_value) {
st
->
buf
[
0
]
=
0x42
;
/* NaN */
st
->
buf
[
1
]
=
0
;
st
->
size
=
1
;
}
else
if
(
isinf
(
dbl_value
))
{
}
else
if
(
!
finite
(
dbl_value
))
{
if
(
copysign
(
1
.
0
,
dbl_value
)
<
0
.
0
)
{
st
->
buf
[
0
]
=
0x41
;
/* MINUS-INFINITY */
}
else
{
...
...
skeletons/asn_types.h
View file @
a460ba3f
...
...
@@ -12,7 +12,7 @@
#include "config.h"
#endif
#include <stdio.h>
/* For
fprintf(
) */
#include <stdio.h>
/* For
snprintf(3
) */
#include <stdlib.h>
/* For *alloc(3) */
#include <string.h>
/* For memcpy(3) */
#include <sys/types.h>
/* For size_t */
...
...
@@ -21,13 +21,23 @@
#include <inttypes.h>
/* C99 specifies this file */
#if defined(sun)
#include <ieeefp.h>
/* for finite(3) */
#endif
/*
* Earlier FreeBSD version didn't have <stdint.h>,
*
1.
Earlier FreeBSD version didn't have <stdint.h>,
* but <inttypes.h> was present.
* 2. Sun Solaris requires <alloca.h> for alloca(3),
* but does not have <stdint.h>.
*/
#if !defined(__FreeBSD__) || !defined(_SYS_INTTYPES_H_)
/* Workaround */
#if (!defined(__FreeBSD__) || !defined(_SYS_INTTYPES_H_))
#if defined(sun)
#include <alloca.h>
/* For alloca(3) */
#else
#include <stdint.h>
/* SUSv2+ and C99 specify this file, for uintXX_t */
#endif
#endif
#ifdef WIN32
#define snprintf _snprintf
...
...
skeletons/tests/check-GeneralizedTime.c
View file @
a460ba3f
...
...
@@ -14,20 +14,24 @@ check(char *time_str, time_t expect, int as_gmt) {
tloc
=
asn_GT2time
(
&
gt
,
&
tm
,
as_gmt
);
printf
(
"%s: [%s] -> %ld == %ld
\n
"
,
as_gmt
?
"GMT"
:
"ofs"
,
time_str
,
(
long
)
tloc
,
(
long
)
expect
);
if
(
tloc
!=
-
1
)
printf
(
"
\t
%04d-%02d-%02dT%02d:%02d:%02d%+03ld%02ld
\n
"
,
if
(
tloc
!=
-
1
)
{
printf
(
"
\t
%04d-%02d-%02dT%02d:%02d:%02d%+03ld%02ld
\n
"
,
tm
.
tm_year
+
1900
,
tm
.
tm_mon
+
1
,
tm
.
tm_mday
,
tm
.
tm_hour
,
tm
.
tm_min
,
tm
.
tm_sec
,
(
tm
.
tm_gmtoff
/
3600
),
labs
(
tm
.
tm_gmtoff
%
3600
)
);
(
GMTOFF
(
tm
)
/
3600
),
labs
(
GMTOFF
(
tm
)
%
3600
)
);
}
assert
(
tloc
==
expect
);
assert
(
tloc
==
-
1
||
as_gmt
==
0
||
tm
.
tm_gmtoff
==
0
);
#ifdef HAVE_TM_GMTOFF
assert
(
tloc
==
-
1
||
as_gmt
==
0
||
GMTOFF
(
tm
)
==
0
);
#endif
if
(
!
as_gmt
)
check
(
time_str
,
expect
,
1
);
}
...
...
skeletons/tests/check-UTCTime.c
View file @
a460ba3f
#define __NO_ASN_TABLE__
#include <UTCTime.c>
#define __NO_ASSERT_H__
#include <GeneralizedTime.c>
#define __NO_ASN_TABLE__
#include <UTCTime.c>
#include <constraints.c>
static
void
...
...
@@ -23,11 +23,11 @@ check(char *time_str, time_t sample, int as_gmt) {
tm
.
tm_hour
,
tm
.
tm_min
,
tm
.
tm_sec
,
tm
.
tm_gmtoff
GMTOFF
(
tm
)
);
assert
(
tloc
==
sample
);
assert
(
tloc
==
-
1
||
as_gmt
==
0
||
tm
.
tm_gmtoff
==
0
);
assert
(
tloc
==
-
1
||
as_gmt
==
0
||
GMTOFF
(
tm
)
==
0
);
if
(
as_gmt
)
check
(
time_str
,
sample
,
as_gmt
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment