/*
******************************************************************************
*
*   Copyright (C) 2006-2008, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*
*  FILE NAME : testTimezone.c
*
*   Date        Name        Description
*   03/02/2006  grhoten     Creation.
******************************************************************************
*/
#include "unicode/putil.h"
#include "unicode/ucnv.h"
#include "unicode/uloc.h"
#include "unicode/ures.h"
#include <stdio.h>
#include <string.h>

int main(int argc, const char* const argv[]) {
    UErrorCode status = U_ZERO_ERROR;

    ures_close(ures_open(NULL, NULL, &status));
    if (status != U_ZERO_ERROR) {
        printf("uloc_getDefault = %s\n", uloc_getDefault());
        printf("Locale available in ICU = %s\n", status == U_ZERO_ERROR ? "TRUE" : "FALSE");
    }
    if (strcmp(ucnv_getDefaultName(), "US-ASCII") == 0) {
        printf("uprv_getDefaultCodepage = %s\n", uprv_getDefaultCodepage());
        printf("ucnv_getDefaultName = %s\n", ucnv_getDefaultName());
    }
    return 0;
}
