view xrogue/network.h @ 313:2f75940cc544

Advanced Rogue 7: fix a string literal overwrite. pick_spell() attempted to capitalize type by overwriting the first character, changing it back later. All calls of pick_spell passed a string literal as type, and string literals should be considered immutable. This has been fixed by using a separate variable for the capitalized first character. XRogue already has a similar fix. Reported by John Harris of @Play.
author John "Elwin" Edwards
date Tue, 19 Oct 2021 20:39:00 -0400
parents 13b482bd9e66
children
line wrap: on
line source

/*
    network.h  -  networking setup
    
    XRogue: Expeditions into the Dungeons of Doom
    Copyright (C) 1991 Robert Pietkivitch
    All rights reserved.
    
    Based on "Advanced Rogue"
    Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T
    All rights reserved.

    See the file LICENSE.TXT for full copyright and licensing information.
*/

/*
 * Note that networking is set up for machines that can communicate
 * via some system such as uucp.  The mechanism listed here uses uux
 * and assumes that the target machine allows access to the game via
 * the uux command.  NETCOMMAND must be defined if networking is desired.
 */

/* #undef  NETCOMMAND "uux - -n '%s!%s -u' >/dev/null 2>&1" */
/* #define NETCOMMAND "usend -s -d%s -uNoLogin -!'%s -u' - 2>/dev/null" */

/* Networking information -- should not vary among networking machines */

struct network {
    char *system;
    char *rogue;
};
extern struct network Network[];
extern unsigned long netread(int *error, int size, FILE *stream);
extern int netwrite(unsigned long value, int size, FILE *stream);