/* Test for cin/cout from WB */

#include <use_amiga_argc_argv.h>

#include <fstream.h>
#include <iostream.h>
extern filebuf cin_fb, cout_fb, cerr_fb;

UBYTE	**ToolTypes=NULL; 	/* for WB-startup */

int main(int argc, char *argv[])
{
	if(argc)
	{
		/* Start from CLI */
		cout << "Start from CLI" << endl;
	}
	else
	{
		/* Start from WB */

		ToolTypes = ArgArrayInit(argc,(UBYTE **)argv);

		stdin=Open(ArgString(ToolTypes,(STRPTR)"WINDOW", (STRPTR)"CON:0/0/640/200/Default Window/AUTO/CLOSE/WAIT"),MODE_NEWFILE);

		if(!stdin)
			stdin=Open((STRPTR)"CON:0/0/640/200/Default Window/AUTO/CLOSE/WAIT", MODE_NEWFILE);

		stdout=stdin;
		SelectInput(stdin);
		SelectOutput(stdout);

		cin_fb.close();
		cin_fb.attach((int)stdin);
		cout_fb.close();
		cout_fb.attach((int)stdout);
		cerr_fb.close();
		cerr_fb.attach((int)stdout);

	   	cin_fb._flags2 |=_DO_NOT_CALL_SYSCLOSE;
	   	cout_fb._flags2 |=_DO_NOT_CALL_SYSCLOSE;
	   	cerr_fb._flags2 |=_DO_NOT_CALL_SYSCLOSE;

		/* Do something */

		cout << "Please enter String :";

		char Buffer[80];

		cin >> Buffer;

		cout << "Buffer :" << Buffer << endl;;

		Close(stdin);

		stdin=0;
		stdout=0;
		SelectInput(0);
		SelectOutput(0);

		cin_fb.close();
		cout_fb.close();
		cerr_fb.close();
	}

	return RETURN_OK;
}
