/* ---------------------------------------------------------------------- */

#define ns__aproc0 "::aproc"
static void c__aproc0(int has_x, int x, int y, int z)
{

}

static int
tcl__aproc0(ClientData cd, Tcl_Interp *interp, Tcl_Size oc, Tcl_Obj *CONST ov[])
{
  int _has_x = 0;
  int _x;
  int _y;
  int _z;
  int idx_;
  int argc_;

  if ((oc < 3) || (4 < oc)) {
    Tcl_WrongNumArgs(interp, 1, ov, "?x? y z");
    return TCL_ERROR;
  }

  idx_  = 1;
  argc_ = oc - 1;

  /* (int x, optional, default -1) - - -- --- ----- -------- */
  if (argc_ > 2) {
	{
	if (Tcl_GetIntFromObj(interp, ov[idx_], &_x) != TCL_OK) return TCL_ERROR; }
    idx_++;
    argc_--;
    _has_x = 1;
  } else {
    _x = -1;
  }


  /* (int y) - - -- --- ----- -------- */
	{
	if (Tcl_GetIntFromObj(interp, ov[idx_], &_y) != TCL_OK) return TCL_ERROR; }

  idx_++;
  argc_--;


  /* (int z) - - -- --- ----- -------- */
	{
	if (Tcl_GetIntFromObj(interp, ov[idx_], &_z) != TCL_OK) return TCL_ERROR; }


  /* Call - - -- --- ----- -------- */
  c__aproc0(_has_x, _x, _y, _z);

  /* (void return) - - -- --- ----- -------- */
	return TCL_OK;
}
