|
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 s
Length: 1472 (0x5c0) Types: TextFile Names: »ships.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Empire.V/V1.1/EMPFIX/ships.c«
#define D_SHPSTR #define D_FILES #include "empdef.h" extern int xflg, wflg, mflg; ships() { register i, j, k; char *cp, *getstri(); shipf = open(shipfil, O_RDWR); X30: xflg = wflg = mflg = 0; cp = getstri("#? "); if( *cp != '\0' ) goto X106; close(shipf); return; X106: i = atoi(cp); k = i * sizeof(ship); lseek(shipf, (long)k, 0); j = read(shipf, &ship, sizeof(ship)); if( j >= sizeof(ship) ) goto X216; printf("Only %d bytes in that one...\n", j); X216: printf("Ship #%d\n", i); bytefix("own", &ship.shp_own, 0); bytefix("type", &ship.shp_type, 0); bytefix("effc", &ship.shp_effc, 0); wordfix("xp", &ship.shp_xp, 0); wordfix("yp", &ship.shp_yp, 0); bytefix("fleet", &ship.shp_fleet, 0); bytefix("crew", &ship.shp_crew, 0); bytefix("shels", &ship.shp_shels, 0); bytefix("gun", &ship.shp_gun, 0); bytefix("plns", &ship.shp_plns, 0); bytefix("or", &ship.shp_or, 0); bytefix("gld", &ship.shp_gld, 0); bytefix("spric", &ship.shp_spric, 0); wordfix("mbl", &ship.shp_mbl, 0); wordfix("lstp", &ship.shp_lstp, 0); if( mflg != 0 ) goto X624; goto X30; X624: lseek(shipf, (long)k, 0); write(shipf, &ship, sizeof(ship)); printf("Rewritten\n"); goto X30; }