Fix issue 144
diff --git a/examples/sample.makefile.regen b/examples/sample.makefile.regen
index 66bec0a..4f45d61 100755
--- a/examples/sample.makefile.regen
+++ b/examples/sample.makefile.regen
@@ -38,7 +38,7 @@
exit 1
fi
-EXTRA_CFLAGS="-DJUNKTEST"
+EXTRA_CFLAGS="-DJUNKTEST -D_DEFAULT_SOURCE ${CFLAGS}"
test -f config.h && EXTRA_CFLAGS="-DHAVE_CONFIG_H ${EXTRA_CFLAGS}"
test -n "$TITLE" && EXTRA_CFLAGS="-DASN_CONVERTER_TITLE=\"$TITLE\" ${EXTRA_CFLAGS}"
@@ -62,6 +62,7 @@
echo " ASN1MODULES=\"${ASN1MODULES}\" \\"
echo " ASN1PDU=${ASN1PDU} \\"
echo " PROGNAME=${PROGNAME} \\"
+ echo " CFLAGS=\"${CFLAGS}\" \\"
echo " $0"
echo
echo 'check: ${TARGET} check-ber check-xer check-per'
diff --git a/examples/sample.source.LDAP3/Makefile b/examples/sample.source.LDAP3/Makefile
index f182f95..c563356 100644
--- a/examples/sample.source.LDAP3/Makefile
+++ b/examples/sample.source.LDAP3/Makefile
@@ -163,7 +163,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = ldap3dump
-CFLAGS += -DASN_CONVERTER_TITLE="Lightweight Directory Access Protocol V3 decoder" -DHAVE_CONFIG_H -DJUNKTEST -DPDU=LDAPMessage -I.
+CFLAGS += -DASN_CONVERTER_TITLE="Lightweight Directory Access Protocol V3 decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=LDAPMessage -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: LDAPMessage.c $(TARGET)
@@ -198,6 +198,7 @@
ASN1MODULES="../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1" \
ASN1PDU=LDAPMessage \
PROGNAME=ldap3dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
diff --git a/examples/sample.source.LTE-RRC/Makefile b/examples/sample.source.LTE-RRC/Makefile
index 33a1bd4..bbdb3ce 100644
--- a/examples/sample.source.LTE-RRC/Makefile
+++ b/examples/sample.source.LTE-RRC/Makefile
@@ -3578,7 +3578,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = lte-rrc-dump
-CFLAGS += -DJUNKTEST -DPDU=DL_DCCH_Message -DASN_PDU_COLLECTION -I.
+CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=DL_DCCH_Message -DASN_PDU_COLLECTION -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: DL-DCCH-Message.c $(TARGET)
@@ -3612,6 +3612,7 @@
ASN1MODULES="../lte-rrc-14.2.1.asn1" \
ASN1PDU=DL-DCCH-Message \
PROGNAME=lte-rrc-dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
diff --git a/examples/sample.source.MEGACO/Makefile b/examples/sample.source.MEGACO/Makefile
index 515b0d5..baa4f66 100644
--- a/examples/sample.source.MEGACO/Makefile
+++ b/examples/sample.source.MEGACO/Makefile
@@ -285,7 +285,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = megaco-dump
-CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -DPDU=MegacoMessage -I.
+CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=MegacoMessage -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: MegacoMessage.c $(TARGET)
@@ -319,6 +319,7 @@
ASN1MODULES="../rfc3525-MEDIA-GATEWAY-CONTROL.asn1" \
ASN1PDU=MegacoMessage \
PROGNAME=megaco-dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
diff --git a/examples/sample.source.MHEG5/Makefile b/examples/sample.source.MHEG5/Makefile
index d34374f..bcafe0c 100644
--- a/examples/sample.source.MHEG5/Makefile
+++ b/examples/sample.source.MHEG5/Makefile
@@ -186,8 +186,7 @@
GenericBoolean.c \
GenericOctetString.c \
Colour.c \
- XYPosition.c \
- OctetString.c
+ XYPosition.c
ASN_MODULE_HEADERS= \
InterchangedObject.h \
@@ -377,19 +376,12 @@
GenericBoolean.h \
GenericOctetString.h \
Colour.h \
- XYPosition.h \
- OctetString.h
+ XYPosition.h
-ASN_MODULE_HEADERS+=ANY.h
-ASN_MODULE_SOURCES+=ANY.c
ASN_MODULE_HEADERS+=BOOLEAN.h
ASN_MODULE_SOURCES+=BOOLEAN.c
-ASN_MODULE_HEADERS+=ENUMERATED.h
-ASN_MODULE_SOURCES+=ENUMERATED.c
ASN_MODULE_HEADERS+=INTEGER.h
ASN_MODULE_HEADERS+=NativeEnumerated.h
-ASN_MODULE_HEADERS+=IA5String.h
-ASN_MODULE_SOURCES+=IA5String.c
ASN_MODULE_SOURCES+=INTEGER.c
ASN_MODULE_HEADERS+=NULL.h
ASN_MODULE_SOURCES+=NULL.c
@@ -444,6 +436,8 @@
ASN_MODULE_SOURCES+=per_decoder.c
ASN_MODULE_HEADERS+=per_encoder.h
ASN_MODULE_SOURCES+=per_encoder.c
+ASN_MODULE_HEADERS+=per_opentype.h
+ASN_MODULE_SOURCES+=per_opentype.c
ASN_CONVERTER_SOURCES+=converter-sample.c
@@ -453,7 +447,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = mheg5dump
-CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -DPDU=InterchangedObject -I.
+CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=InterchangedObject -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: InterchangedObject.c $(TARGET)
@@ -487,6 +481,7 @@
ASN1MODULES="../ISO13522-MHEG-5.asn" \
ASN1PDU=InterchangedObject \
PROGNAME=mheg5dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
@@ -500,12 +495,12 @@
for b in 1 17 33 980 8192; do \
echo "Recoding $$f into XER and back ($$b)..."; \
./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
- ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
- diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 2; \
+ ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
+ diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
rm -f ./.tmp.[12].$$$$; \
echo "Test junking $$f (please wait)..."; \
- ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 2; \
- ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 2; \
+ ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \
+ ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 6; \
done; done; fi
check-xer:
@@ -514,41 +509,41 @@
for b in 1 17 33 980 8192; do \
echo "Recoding $$f into DER and back ($$b)..."; \
./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
- ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
- diff $$f ./.tmp.2.$$$$ || exit 2; \
+ ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
+ diff $$f ./.tmp.2.$$$$ || exit 4; \
rm -f ./.tmp.[12].$$$$; \
echo "Test junking $$f (please wait)..."; \
- ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 2; \
- ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 2; \
+ ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \
+ ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \
done; done; fi
check-per:
- @if test -f sample-InterchangedObject-1.per ; then \
- for f in sample-InterchangedObject-[1-9].per; do \
+ @if test -f sample-InterchangedObject-1-nopad.per ; then \
+ for f in sample-InterchangedObject-[1-9]-nopad.per; do \
for b in 1 17 33 980 8192; do \
- echo "Recoding $$f into DER into XER and back ($$b)..."; \
- ./${TARGET} -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
- ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
- ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 2; \
- diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 2; \
+ echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \
+ ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
+ ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
+ ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
+ diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
rm -f ./.tmp.[123].$$$$; \
echo "Test junking $$f (please wait)..."; \
- ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 2; \
- ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 2; \
+ ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \
+ ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \
done; done; fi
- @if test -f sample-InterchangedObject-1-padded.per ; then \
- for f in sample-*-[1-9]-padded.per; do \
+ @if test -f sample-InterchangedObject-1.per ; then \
+ for f in sample-*-[1-9].per; do \
pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
for b in 1 17 33 980 8192; do \
- echo "Recoding byte-padded $$f into DER into XER and back ($$b)..."; \
- ./${TARGET} -b $$b -per-padded -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
- ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
- ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 2; \
- diff $$f ./.tmp.1.$$$$ || exit 2; \
+ echo "Recoding $$f into DER into XER and back ($$b)..."; \
+ ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
+ ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
+ ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
+ diff $$f ./.tmp.1.$$$$ || exit 6; \
rm -f ./.tmp.[12].$$$$; \
echo "Test junking $$f (please wait)..."; \
- ./${TARGET} -J0.0001 -n 1000 -b $$b -per-padded -iper -onull $$f || exit 2; \
- ./${TARGET} -J0.001 -n 1000 -b $$b -per-padded -iper -onull $$f || exit 2; \
+ ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \
+ ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \
done; done; fi
distclean: clean
diff --git a/examples/sample.source.PKIX1/Makefile b/examples/sample.source.PKIX1/Makefile
index fdff822..415109f 100644
--- a/examples/sample.source.PKIX1/Makefile
+++ b/examples/sample.source.PKIX1/Makefile
@@ -261,6 +261,8 @@
ASN_MODULE_HEADERS+=UTF8String.h
ASN_MODULE_HEADERS+=BOOLEAN.h
ASN_MODULE_SOURCES+=BOOLEAN.c
+ASN_MODULE_HEADERS+=ENUMERATED.h
+ASN_MODULE_SOURCES+=ENUMERATED.c
ASN_MODULE_HEADERS+=INTEGER.h
ASN_MODULE_HEADERS+=NativeEnumerated.h
ASN_MODULE_HEADERS+=GeneralizedTime.h
@@ -345,7 +347,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = x509dump
-CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -DPDU=Certificate -I.
+CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=Certificate -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: Certificate.c $(TARGET)
@@ -366,7 +368,7 @@
regen: regenerate-from-asn1-source
regenerate-from-asn1-source:
- ../../asn1c/asn1c -S ../../skeletons -pdu=Certificate ../rfc3280-PKIX1Explicit88.asn1 ../rfc3280-PKIX1Implicit88.asn1
+ ../../asn1c/asn1c -S ../../skeletons -pdu=Certificate -fwide-types ../rfc3280-PKIX1Explicit88.asn1 ../rfc3280-PKIX1Implicit88.asn1
Certificate.c: ../sample.makefile.regen ../rfc3280-*.asn1
@@ -379,6 +381,7 @@
ASN1MODULES="../rfc3280-*.asn1" \
ASN1PDU=Certificate \
PROGNAME=x509dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
diff --git a/examples/sample.source.RRC/Makefile b/examples/sample.source.RRC/Makefile
index f59f0a1..09ca566 100644
--- a/examples/sample.source.RRC/Makefile
+++ b/examples/sample.source.RRC/Makefile
@@ -4740,7 +4740,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = rrc-dump
-CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -DPDU=DL_DCCH_Message -DASN_PDU_COLLECTION -I.
+CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=DL_DCCH_Message -DASN_PDU_COLLECTION -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: DL-DCCH-Message.c $(TARGET)
@@ -4774,6 +4774,7 @@
ASN1MODULES="../rrc-7.1.0.asn1" \
ASN1PDU=DL-DCCH-Message \
PROGNAME=rrc-dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
diff --git a/examples/sample.source.TAP3/Makefile b/examples/sample.source.TAP3/Makefile
index 44240f6..6f34bbc 100644
--- a/examples/sample.source.TAP3/Makefile
+++ b/examples/sample.source.TAP3/Makefile
@@ -15,6 +15,8 @@
GprsCall.c \
ContentTransaction.c \
LocationService.c \
+ MessagingEvent.c \
+ MobileSession.c \
AuditControlInfo.c \
AccessPointNameNI.c \
AccessPointNameOI.c \
@@ -56,6 +58,7 @@
ChargeDetailList.c \
ChargeDetailTimeStamp.c \
ChargedItem.c \
+ ChargedParty.c \
ChargedPartyEquipment.c \
ChargedPartyHomeIdentification.c \
ChargedPartyHomeIdList.c \
@@ -115,9 +118,12 @@
DiscountValue.c \
DistanceChargeBandCode.c \
EarliestCallTimeStamp.c \
+ ElementId.c \
+ ElementType.c \
EquipmentId.c \
EquipmentIdType.c \
Esn.c \
+ EventReference.c \
ExchangeRate.c \
ExchangeRateCode.c \
FileAvailableTimeStamp.c \
@@ -179,16 +185,23 @@
MessageDescriptionInformation.c \
MessageStatus.c \
MessageType.c \
+ MessagingEventService.c \
Min.c \
MinChargeableSubscriber.c \
MoBasicCallInformation.c \
+ MobileSessionService.c \
Msisdn.c \
MtBasicCallInformation.c \
NetworkAccessIdentifier.c \
+ NetworkElement.c \
+ NetworkElementList.c \
NetworkId.c \
NetworkInitPDPContext.c \
NetworkLocation.c \
NonChargedNumber.c \
+ NonChargedParty.c \
+ NonChargedPartyNumber.c \
+ NonChargedPublicUserId.c \
NumberOfDecimalPlaces.c \
ObjectType.c \
OperatorSpecInfoList.c \
@@ -204,6 +217,7 @@
PlmnId.c \
PositioningMethod.c \
PriorityCode.c \
+ PublicUserId.c \
RapFileSequenceNumber.c \
RecEntityCode.c \
RecEntityCodeList.c \
@@ -221,10 +235,13 @@
ScuTimeStamps.c \
ScuChargeableSubscriber.c \
Sender.c \
+ ServiceStartTimestamp.c \
ServingBid.c \
ServingLocationDescription.c \
ServingNetwork.c \
ServingPartiesInformation.c \
+ SessionChargeInfoList.c \
+ SessionChargeInformation.c \
SimChargeableSubscriber.c \
SimToolkitIndicator.c \
SMSDestinationNumber.c \
@@ -240,6 +257,7 @@
Taxation.c \
TaxationList.c \
TaxCode.c \
+ TaxIndicator.c \
TaxInformation.c \
TaxInformationList.c \
TaxRate.c \
@@ -324,6 +342,8 @@
GprsCall.h \
ContentTransaction.h \
LocationService.h \
+ MessagingEvent.h \
+ MobileSession.h \
AuditControlInfo.h \
AccessPointNameNI.h \
AccessPointNameOI.h \
@@ -365,6 +385,7 @@
ChargeDetailList.h \
ChargeDetailTimeStamp.h \
ChargedItem.h \
+ ChargedParty.h \
ChargedPartyEquipment.h \
ChargedPartyHomeIdentification.h \
ChargedPartyHomeIdList.h \
@@ -424,9 +445,12 @@
DiscountValue.h \
DistanceChargeBandCode.h \
EarliestCallTimeStamp.h \
+ ElementId.h \
+ ElementType.h \
EquipmentId.h \
EquipmentIdType.h \
Esn.h \
+ EventReference.h \
ExchangeRate.h \
ExchangeRateCode.h \
FileAvailableTimeStamp.h \
@@ -488,16 +512,23 @@
MessageDescriptionInformation.h \
MessageStatus.h \
MessageType.h \
+ MessagingEventService.h \
Min.h \
MinChargeableSubscriber.h \
MoBasicCallInformation.h \
+ MobileSessionService.h \
Msisdn.h \
MtBasicCallInformation.h \
NetworkAccessIdentifier.h \
+ NetworkElement.h \
+ NetworkElementList.h \
NetworkId.h \
NetworkInitPDPContext.h \
NetworkLocation.h \
NonChargedNumber.h \
+ NonChargedParty.h \
+ NonChargedPartyNumber.h \
+ NonChargedPublicUserId.h \
NumberOfDecimalPlaces.h \
ObjectType.h \
OperatorSpecInfoList.h \
@@ -513,6 +544,7 @@
PlmnId.h \
PositioningMethod.h \
PriorityCode.h \
+ PublicUserId.h \
RapFileSequenceNumber.h \
RecEntityCode.h \
RecEntityCodeList.h \
@@ -530,10 +562,13 @@
ScuTimeStamps.h \
ScuChargeableSubscriber.h \
Sender.h \
+ ServiceStartTimestamp.h \
ServingBid.h \
ServingLocationDescription.h \
ServingNetwork.h \
ServingPartiesInformation.h \
+ SessionChargeInfoList.h \
+ SessionChargeInformation.h \
SimChargeableSubscriber.h \
SimToolkitIndicator.h \
SMSDestinationNumber.h \
@@ -549,6 +584,7 @@
Taxation.h \
TaxationList.h \
TaxCode.h \
+ TaxIndicator.h \
TaxInformation.h \
TaxInformationList.h \
TaxRate.h \
@@ -618,8 +654,6 @@
ASN_MODULE_HEADERS+=INTEGER.h
ASN_MODULE_HEADERS+=NativeEnumerated.h
-ASN_MODULE_HEADERS+=IA5String.h
-ASN_MODULE_SOURCES+=IA5String.c
ASN_MODULE_SOURCES+=INTEGER.c
ASN_MODULE_SOURCES+=NativeEnumerated.c
ASN_MODULE_HEADERS+=NativeInteger.h
@@ -681,7 +715,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = tap3dump
-CFLAGS += -DASN_CONVERTER_TITLE="GSM TAP3 (Transferred Account Procedure, Version 3) decoder" -DHAVE_CONFIG_H -DJUNKTEST -DPDU=DataInterChange -I.
+CFLAGS += -DASN_CONVERTER_TITLE="GSM TAP3 (Transferred Account Procedure, Version 3) decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=DataInterChange -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: DataInterChange.c $(TARGET)
@@ -716,6 +750,7 @@
ASN1MODULES="../tap3.asn1" \
ASN1PDU=DataInterChange \
PROGNAME=tap3dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per
diff --git a/examples/sample.source.ULP/Makefile b/examples/sample.source.ULP/Makefile
index d1661c8..e6f1fba 100644
--- a/examples/sample.source.ULP/Makefile
+++ b/examples/sample.source.ULP/Makefile
@@ -234,7 +234,7 @@
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = ulp-dump
-CFLAGS += -DASN_CONVERTER_TITLE="OMA UserPlane Location Protocol decoder" -DHAVE_CONFIG_H -DJUNKTEST -DPDU=ULP_PDU -DASN_PDU_COLLECTION -I.
+CFLAGS += -DASN_CONVERTER_TITLE="OMA UserPlane Location Protocol decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=ULP_PDU -DASN_PDU_COLLECTION -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: ULP-PDU.c $(TARGET)
@@ -269,6 +269,7 @@
ASN1MODULES="../ulp.asn1" \
ASN1PDU=ULP-PDU \
PROGNAME=ulp-dump \
+ CFLAGS="" \
../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per