diff options
author | Lev Walkin <vlm@lionet.info> | 2005-02-25 14:20:30 +0000 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2005-02-25 14:20:30 +0000 |
commit | 4efbfb7e5553b41f4d725479823705aa6ef073cc (patch) | |
tree | da88699c9d0001e9f7415a7b38e1fc2887bf3503 /libasn1parser | |
parent | 8d35c46db72ad6cf53e47c10253d9754af535f22 (diff) |
portability fixes
Diffstat (limited to 'libasn1parser')
-rw-r--r-- | libasn1parser/Makefile.in | 2 | ||||
-rw-r--r-- | libasn1parser/asn1p_expr2uclass.h | 4 | ||||
-rw-r--r-- | libasn1parser/asn1p_expr_str.h | 4 | ||||
-rw-r--r-- | libasn1parser/asn1p_list.h | 8 | ||||
-rw-r--r-- | libasn1parser/asn1parser.c | 6 | ||||
-rw-r--r-- | libasn1parser/asn1parser.h | 20 | ||||
-rwxr-xr-x | libasn1parser/expr-h.pl | 4 |
7 files changed, 32 insertions, 16 deletions
diff --git a/libasn1parser/Makefile.in b/libasn1parser/Makefile.in index ef80e29b..cb9ebd03 100644 --- a/libasn1parser/Makefile.in +++ b/libasn1parser/Makefile.in @@ -447,9 +447,9 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -rm -f asn1p_l.c -rm -f asn1p_y.c -rm -f asn1p_y.h - -rm -f asn1p_l.c clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ diff --git a/libasn1parser/asn1p_expr2uclass.h b/libasn1parser/asn1p_expr2uclass.h index 8bb4f637..1fb6dbbd 100644 --- a/libasn1parser/asn1p_expr2uclass.h +++ b/libasn1parser/asn1p_expr2uclass.h @@ -1,6 +1,10 @@ #ifndef ASN1_PARSER_EXPR2UCLASS_H #define ASN1_PARSER_EXPR2UCLASS_H +#ifndef __GNUC__ +#define __attribute__(x) /* unused */ +#endif + static int expr_type2uclass_value[ASN_EXPR_TYPE_MAX] __attribute__ ((unused)) = { [ ASN_BASIC_BOOLEAN ] = 1, diff --git a/libasn1parser/asn1p_expr_str.h b/libasn1parser/asn1p_expr_str.h index d99f8350..8e9545df 100644 --- a/libasn1parser/asn1p_expr_str.h +++ b/libasn1parser/asn1p_expr_str.h @@ -5,6 +5,10 @@ #ifndef ASN1_PARSER_EXPR_STR_H #define ASN1_PARSER_EXPR_STR_H +#ifndef __GNUC__ +#define __attribute__(x) /* unused */ +#endif + static char *asn1p_expr_type2str[] __attribute__ ((unused)) = { [ ASN_CONSTR_SEQUENCE ] = "SEQUENCE", [ ASN_CONSTR_CHOICE ] = "CHOICE", diff --git a/libasn1parser/asn1p_list.h b/libasn1parser/asn1p_list.h index 4a71fdd9..9d5748cb 100644 --- a/libasn1parser/asn1p_list.h +++ b/libasn1parser/asn1p_list.h @@ -37,11 +37,11 @@ for((var) = TQ_FIRST((head)); \ (var); (var) = TQ_NEXT((var), field)) +/* MSVC does not have typeof(), cannot prevent side effects! */ #define TQ_ADD(head, xel, field) do { \ - typeof(xel) __el = xel; \ - assert(TQ_NEXT((__el), field) == 0); \ - *(head)->tq_tail = (__el); \ - (head)->tq_tail = &TQ_NEXT((__el), field); \ + assert(TQ_NEXT((xel), field) == 0); \ + *(head)->tq_tail = (xel); \ + (head)->tq_tail = &TQ_NEXT((xel), field); \ } while(0) /* diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c index 6a3477d1..c820cc4a 100644 --- a/libasn1parser/asn1parser.c +++ b/libasn1parser/asn1parser.c @@ -35,7 +35,7 @@ asn1p_parse_buffer(const char *buffer, int size /* = -1 */, enum asn1p_flags fla } if(size < 0) - size = strlen(buffer); + size = (int)strlen(buffer); ybuf = asn1p__scan_bytes(buffer, size); if(!ybuf) { @@ -67,7 +67,9 @@ asn1p_parse_buffer(const char *buffer, int size /* = -1 */, enum asn1p_flags fla */ asn1p_t * asn1p_parse_file(const char *filename, enum asn1p_flags flags) { +#ifndef WIN32 struct stat sb; +#endif asn1p_t *a = 0; void *ap; FILE *fp; @@ -84,6 +86,7 @@ asn1p_parse_file(const char *filename, enum asn1p_flags flags) { return NULL; } +#ifndef WIN32 if(fstat(fileno(fp), &sb) || !S_ISREG(sb.st_mode)) { fclose(fp); @@ -92,6 +95,7 @@ asn1p_parse_file(const char *filename, enum asn1p_flags flags) { errno = EINVAL; return NULL; } +#endif /* WIN32 */ asn1p_lineno = 1; diff --git a/libasn1parser/asn1parser.h b/libasn1parser/asn1parser.h index ff7e410d..d5a09a90 100644 --- a/libasn1parser/asn1parser.h +++ b/libasn1parser/asn1parser.h @@ -38,16 +38,16 @@ typedef intmax_t asn1c_integer_t; #define PRIuASN "llu" /* Or j? */ #endif -#include <asn1p_list.h> -#include <asn1p_oid.h> /* Object identifiers (OIDs) */ -#include <asn1p_ref.h> /* References to custom types */ -#include <asn1p_value.h> /* Value definition */ -#include <asn1p_param.h> /* Parametrization */ -#include <asn1p_constr.h> /* Type Constraints */ -#include <asn1p_xports.h> /* IMports/EXports */ -#include <asn1p_module.h> /* ASN.1 definition module */ -#include <asn1p_class.h> /* CLASS-related stuff */ -#include <asn1p_expr.h> /* A single ASN.1 expression */ +#include "asn1p_list.h" +#include "asn1p_oid.h" /* Object identifiers (OIDs) */ +#include "asn1p_ref.h" /* References to custom types */ +#include "asn1p_value.h" /* Value definition */ +#include "asn1p_param.h" /* Parametrization */ +#include "asn1p_constr.h" /* Type Constraints */ +#include "asn1p_xports.h" /* IMports/EXports */ +#include "asn1p_module.h" /* ASN.1 definition module */ +#include "asn1p_class.h" /* CLASS-related stuff */ +#include "asn1p_expr.h" /* A single ASN.1 expression */ /* * Parser flags. diff --git a/libasn1parser/expr-h.pl b/libasn1parser/expr-h.pl index a66425a8..ce916d7b 100755 --- a/libasn1parser/expr-h.pl +++ b/libasn1parser/expr-h.pl @@ -9,6 +9,10 @@ print<<EOM; #ifndef ASN1_PARSER_EXPR_STR_H #define ASN1_PARSER_EXPR_STR_H +#ifndef __GNUC__ +#define __attribute__(x) /* unused */ +#endif + static char *asn1p_expr_type2str[] __attribute__ ((unused)) = { EOM |