paul@greipa.UUCP (Paul A. Vixie) (07/27/85)
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
# BUG_NO.A
# BUG_YES.A
# bug_no.c
# bug_yes.c
# This archive created: Fri Jul 26 20:36:27 1985
export PATH; PATH=/bin:$PATH
if test -f 'BUG_NO.A'
then
echo shar: will not over-write existing file "'BUG_NO.A'"
else
cat << \SHAR_EOF > 'BUG_NO.A'
CSEG
PUBLIC fopen_
PUBLIC fseek_
PUBLIC lseek_
PUBLIC _lread_
PUBLIC _lwrite_
DSEG
arr_ DC.B 'instr1',0,0,0,0
DC.B 1
DC.B 2
DC.B 10
DC.B 20
DC.B 30
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 'instr2',0,0,0,0
DC.B 3
DC.B 4
DC.B 40
DC.B 50
DC.B 60
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 'instr3',0,0,0,0
DC.B 5
DC.B 6
DC.B 70
DC.B 80
DC.B 90
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0,0,0,0,0,0,0,0,0,0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
DC.B 0
CSEG
PUBLIC main_
PUBLIC printf_
DSEG
__9 DC.B 'a=%s, b=%d, c=%d',10,0
CSEG
main_
LINK A6,#-4
LEA arr_,A0
MOVE.L A0,-4(A6)
_L1
MOVE.L -4(A6),A1
TST.B (A1)
BEQ _L2
MOVE.B 11(A1),D1
EXT.W D1
MOVE.W D1,-(A7)
MOVE.B 10(A1),D2
EXT.W D2
MOVE.W D2,-(A7)
MOVE.L -4(A6),-(A7)
PEA __9
JSR printf_
ADDA.W #12,A7
_L3
ADD.L #22,-4(A6)
BRA _L1
_L2
UNLK A6
RTS
END
SHAR_EOF
fi # end of overwriting check
if test -f 'BUG_YES.A'
then
echo shar: will not over-write existing file "'BUG_YES.A'"
else
cat << \SHAR_EOF > 'BUG_YES.A'
CSEG
PUBLIC fopen_
PUBLIC fseek_
PUBLIC lseek_
PUBLIC _lread_
PUBLIC _lwrite_
DSEG
arr_ DC.B 'instr1',0,0,0,0
DC.B 1
DC.B 2
DC.B 10
DC.B 20
DC.B 30
DC.B 0,0,0,0,0,0,0,0
DC.B 'instr2',0,0,0,0
DC.B 3
DC.B 4
DC.B 40
DC.B 50
DC.B 60
DC.B 0,0,0,0,0,0,0
DC.B 'instr3',0,0,0,0
DC.B 5
DC.B 6
DC.B 70
DC.B 80
DC.B 90
DC.B 0,0,0,0,0,0,0
DC.B 0,0,0,0,0,0,0,0,0,0
DC.B 0
DC.B 0
DC.B 0
DC.B 0,0,0,0,0,0,0,0,0
CSEG
PUBLIC main_
PUBLIC printf_
DSEG
__9 DC.B 'a=%s, b=%d, c=%d',10,0
CSEG
main_
LINK A6,#-4
LEA arr_,A0
MOVE.L A0,-4(A6)
_L1
MOVE.L -4(A6),A1
TST.B (A1)
BEQ _L2
MOVE.B 11(A1),D1
EXT.W D1
MOVE.W D1,-(A7)
MOVE.B 10(A1),D2
EXT.W D2
MOVE.W D2,-(A7)
MOVE.L -4(A6),-(A7)
PEA __9
JSR printf_
ADDA.W #12,A7
_L3
ADD.L #22,-4(A6)
BRA _L1
_L2
UNLK A6
RTS
END
SHAR_EOF
fi # end of overwriting check
if test -f 'bug_no.c'
then
echo shar: will not over-write existing file "'bug_no.c'"
else
cat << \SHAR_EOF > 'bug_no.c'
#include <stdio.h>
static struct s {char a[10], b, c, d1,d2,d3,d4,d5,d6,d7,d8,d9,d10;}
arr[] = {
{"instr1", 1, 2, 10,20,30},
{"instr2", 3, 4, 40,50,60},
{"instr3", 5, 6, 70,80,90},
{"", 0, 0, 0}};
main() {
struct s *p;
for (p = arr; p->a[0]; p++)
printf("a=%s, b=%d, c=%d\n", p->a,p->b,p->c);
}
SHAR_EOF
fi # end of overwriting check
if test -f 'bug_yes.c'
then
echo shar: will not over-write existing file "'bug_yes.c'"
else
cat << \SHAR_EOF > 'bug_yes.c'
#include <stdio.h>
static struct s {char a[10], b, c, d[10];} arr[] = {
{"instr1", 1, 2, {10,20,30}},
{"instr2", 3, 4, {40,50,60}},
{"instr3", 5, 6, {70,80,90}},
{"", 0, 0, {0}}};
main() {
struct s *p;
for (p = arr; p->a[0]; p++)
printf("a=%s, b=%d, c=%d\n", p->a,p->b,p->c);
}
SHAR_EOF
fi # end of overwriting check
# End of shell archive
exit 0
--
Paul Vixie
{decwrl dual pyramid}!greipa!paul