aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2005-02-25 14:20:30 +0000
committerLev Walkin <vlm@lionet.info>2005-02-25 14:20:30 +0000
commit4efbfb7e5553b41f4d725479823705aa6ef073cc (patch)
treeda88699c9d0001e9f7415a7b38e1fc2887bf3503 /libasn1parser
parent8d35c46db72ad6cf53e47c10253d9754af535f22 (diff)
portability fixes
Diffstat (limited to 'libasn1parser')
-rw-r--r--libasn1parser/Makefile.in2
-rw-r--r--libasn1parser/asn1p_expr2uclass.h4
-rw-r--r--libasn1parser/asn1p_expr_str.h4
-rw-r--r--libasn1parser/asn1p_list.h8
-rw-r--r--libasn1parser/asn1parser.c6
-rw-r--r--libasn1parser/asn1parser.h20
-rwxr-xr-xlibasn1parser/expr-h.pl4
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