Blame test-c/m_36_sjis.c

Packit Service 8bf002
/* m_36_sjis.c: Handling of '\\' in shift-JIS multi-byte character. */
Packit Service 8bf002
Packit Service 8bf002
#include    "defs.h"
Packit Service 8bf002
Packit Service 8bf002
#define     str( a)     # a
Packit Service 8bf002
Packit Service 8bf002
main( void)
Packit Service 8bf002
{
Packit Service 8bf002
    fputs( "started\n", stdout);
Packit Service 8bf002
Packit Service 8bf002
/* 36.1:    0x5c in multi-byte character is not an escape character */
Packit Service 8bf002
Packit Service 8bf002
#pragma __setlocale( "sjis")                /* For MCPP     */
Packit Service 8bf002
#pragma setlocale( "japanese")              /* For Visual C */
Packit Service 8bf002
Packit Service 8bf002
#if     '字' == '\x8e\x9a' && '表' != '\x95\x5c'
Packit Service 8bf002
    fputs( "Bad handling of '\\' in multi-byte character", stdout);
Packit Service 8bf002
    exit( 1);
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/* 36.2:    # operater should not insert '\\' before 0x5c in multi-byte
Packit Service 8bf002
        character   */
Packit Service 8bf002
    assert( strcmp( str( "表示"), "\"表示\"") == 0);
Packit Service 8bf002
    fputs( "表示" "\"表示\"\n", stdout);
Packit Service 8bf002
Packit Service 8bf002
    fputs( "success\n", stdout);
Packit Service 8bf002
    return  0;
Packit Service 8bf002
}
Packit Service 8bf002