2N/A/*
2N/A * CDDL HEADER START
2N/A *
2N/A * The contents of this file are subject to the terms of the
2N/A * Common Development and Distribution License, Version 1.0 only
2N/A * (the "License"). You may not use this file except in compliance
2N/A * with the License.
2N/A *
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * or http://www.opensolaris.org/os/licensing.
2N/A * See the License for the specific language governing permissions
2N/A * and limitations under the License.
2N/A *
2N/A * When distributing Covered Code, include this CDDL HEADER in each
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A * If applicable, add the following below this CDDL HEADER, with the
2N/A * fields enclosed by brackets "[]" replaced with your own identifying
2N/A * information: Portions Copyright [yyyy] [name of copyright owner]
2N/A *
2N/A * CDDL HEADER END
2N/A */
2N/A/*
2N/A * Copyright (c) 1996, by Sun Microsystems, Inc.
2N/A * All rights reserved.
2N/A */
2N/A
2N/A#pragma ident "%Z%%M% %I% %E% SMI"
2N/A
2N/A/*
2N/A * Dummy version of getsyntx() from C/370.
2N/A * This version simply uses the external variable VARIANTS, and assigns them
2N/A * to the variant structure.
2N/A * This is a dummy routine, that would not actually run on any production
2N/A * system.
2N/A *
2N/A * Copyright 1993 by Mortice Kern Systems Inc. All rights reserved.
2N/A *
2N/A */
2N/A#ifdef M_RCSID
2N/A#ifndef lint
2N/Astatic char const rcsID[] = "$Header: /rd/src/libc/mks/rcs/getsyntx.c 1.4 1995/04/19 23:04:55 ross Exp $";
2N/A#endif /* lint */
2N/A#endif /* M_RCSID */
2N/A
2N/A#include <mks.h>
2N/A#include <variant.h>
2N/A#include <stdlib.h>
2N/A
2N/Astruct variant *
2N/Agetsyntx(void)
2N/A{
2N/A static struct variant v;
2N/A static char const var[] = "\\][}{^~!#|$@`";
2N/A char const *e;
2N/A
2N/A if ((e = __m_getenv("VARIANTS")) == NULL || *e == '\0')
2N/A e = var;
2N/A else if (strlen(e) != 13) {
2N/A m_error("getsyntx: environment variable VARIANTS: must be exactly 13 bytes long");
2N/A return NULL;
2N/A }
2N/A v.backslash = e[0];
2N/A v.right_bracket = e[1];
2N/A v.left_bracket = e[2];
2N/A v.right_brace = e[3];
2N/A v.left_brace = e[4];
2N/A v.circumflex = e[5];
2N/A v.tilde = e[6];
2N/A v.exclamation_mark = e[7];
2N/A v.number_sign = e[8];
2N/A v.vertical_line = e[9];
2N/A v.dollar_sign = e[10];
2N/A v.commercial_at = e[11];
2N/A v.grave_accent = e[12];
2N/A return &v;
2N/A}