some fixes

git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1292 59561ff5-6e30-0410-9f3c-9617f08c8826
This commit is contained in:
vlm 2007-06-23 17:35:56 +00:00
parent 087c99fc51
commit 33b87bd085
3 changed files with 8 additions and 5 deletions

View File

@ -24,15 +24,16 @@
#ifdef WIN32
#include <io.h>
#include <malloc.h>
#include <fcntl.h>
#define open _open
#define close _close
#define alloca _alloca
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#else
#include <fcntl.h> /* for open(2) */
#include <glob.h> /* for glob(3) */
#endif
#include <fcntl.h> /* for open(2) */
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h> /* For MAXPATHLEN */

View File

@ -50,8 +50,9 @@ asn1f_parameterization_fork(arg_t *arg, asn1p_expr_t *expr, asn1p_expr_t *rhs_ps
rarg.lhs_params = expr->lhs_params;
rarg.rhs_pspecs = rhs_pspecs;
exc = asn1p_expr_clone_with_resolver(expr, resolve_expr, &rarg);
if(!exc) return NULL;
rpc = asn1p_expr_clone(rhs_pspecs, 0);
assert(exc && rpc);
assert(rpc);
/*
* Create a new specialization.
@ -137,6 +138,7 @@ resolve_expr(asn1p_expr_t *expr_to_resolve, void *resolver_arg) {
expr->Identifier, expr->meta_type, expr->expr_type);
if(expr->meta_type == AMT_TYPE
|| expr->meta_type == AMT_VALUE
|| expr->meta_type == AMT_TYPEREF
|| expr->meta_type == AMT_VALUESET) {
DEBUG("Target is a simple type %s",
ASN_EXPR_TYPE2STR(expr->expr_type));

View File

@ -1078,7 +1078,7 @@ SEQUENCE_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
* Get the sequence ROOT elements.
*/
for(edx = 0; edx < ((specs->ext_before < 0)
? td->elements_count : specs->ext_before + 1); edx++) {
? td->elements_count : specs->ext_before - 1); edx++) {
asn_TYPE_member_t *elm = &td->elements[edx];
void *memb_ptr; /* Pointer to the member */
void **memb_ptr2; /* Pointer to that pointer */
@ -1219,7 +1219,7 @@ SEQUENCE_encode_uper(asn_TYPE_descriptor_t *td,
* Get the sequence ROOT elements.
*/
for(edx = 0; edx < ((specs->ext_before < 0)
? td->elements_count : specs->ext_before + 1); edx++) {
? td->elements_count : specs->ext_before - 1); edx++) {
asn_TYPE_member_t *elm = &td->elements[edx];
void *memb_ptr; /* Pointer to the member */
void **memb_ptr2; /* Pointer to that pointer */