|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T a
Length: 2601 (0xa29)
Types: TextFile
Names: »add.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Empire.V/V1.1/COMMANDS/add.c«
#define D_NATSTR
#define D_NATSTAT
#define D_FILES
#include "empdef.h"
add()
{
register i, cno;
char *cp, *getstri(), *mailbox();
X50:
printf("New country number? ");
for( i=0; i <= maxcno; i++ ) {
if( getnat(i) < 0 ) break;
if( nat.nat_cnam[0] == '\0' ) break;
if( nat.nat_stat == STAT_DEAD ) break;
}
if( i <= maxcno ) {
printf("(%d is unused) ", i);
} else {
printf("(they all seem to be used) ");
}
cno = atoi(getstri(""));
if( cno <= 0 || cno > maxcno ) {
printf("Invalid country number - try again..\n");
goto X50;
}
if( getnat(cno) < 0 ) {
printf("getnat(%d) < 0\n", cno);
return(FAIL_RETURN);
}
copy(getstri("Country name? "), nat.nat_cnam);
copy(getstri("Representative? "), nat.nat_pnam);
nat.nat_stat = STAT_DEAD;
X256:
cp = getstri("Status? (visitor, new, normal or god) ");
if( *cp == 'v' ) goto X566;
if( *cp == 'n' ) goto X576;
X312:
if( *cp == 'n' ) goto X622;
X322:
if( *cp == 'g' ) goto X646;
printf("Use at least two letters\n");
goto X654;
X344:
nat.nat_btu = nat.nat_nuid = nat.nat_playing = 0;
nat.nat_tgms = nat.nat_xcap = nat.nat_ycap = 0;
for( i=0; i < 4; i++ ) {
nat.nat_b[i].b_xl = nat.nat_b[i].b_xh = nat.nat_b[i].b_yl = nat.nat_b[i].b_yh = 0;
}
nat.nat_money = 0;
time(&nat.nat_date);
nat.nat_dayno = nat.nat_minused = 0;
if( nat.nat_stat != STAT_NEW ) goto X716;
creat(mailbox(cno), 0600);
goto X716;
X566:
nat.nat_stat = STAT_VISITOR;
goto X654;
X576:
if( *(cp+1) != 'e' ) goto X312;
nat.nat_stat = STAT_NEW;
goto X654;
X622:
if( *(cp+1) != 'o' ) goto X322;
nat.nat_stat = STAT_NORMAL;
goto X654;
X646:
nat.nat_stat = STAT_GOD;
X654:
if( nat.nat_stat != STAT_DEAD ) goto X666;
goto X256;
X666:
if( nat.nat_stat == STAT_NEW ) goto X344;
if( nat.nat_stat == STAT_VISITOR ) goto X344;
printf("No special initializations done...\n");
X716:
if( putnat(cno) >= 0 ) goto X752;
printf("putnat(%d) < 0\n", cno);
X752:
sprintf(fmtbuf,"Country #%d, (%s), added as `%s'",
cno, nat.nat_cnam, cp);
erlog(fmtbuf);
return(NORM_RETURN);
}