Ejemplo n.º 1
0
/* Observe that philosopher n is eating */
void
eats(
i4 n)
{
#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	Psem( &SIsem );
	SIfprintf( stderr,"Error: unexpected exception in eats()...");
	Vsem( &SIsem );

	EXdelete();
	return;
    }
#endif
 
    if( Noisy )
    {
	Psem( &SIsem );
	SIfprintf(stderr, "%d (%s) eats...\n", n, Names[ n ] );
	Vsem( &SIsem );
    }
    CSswitch();

#ifdef EX_DEBUG
    EXdelete();
#endif
}
Ejemplo n.º 2
0
/*
** Function:
**
**       rfapi_writeRFHeader
**
** Description:
**
**      Write response file header to open file descriptor
**
** Inputs:
**
**      II_RFAPI_HANDLE	*handle	 - Pointer to intialized respone file handle
**	FILE	*fd	- Pointer to an open response file
**
** Outputs:
**
**      None
**
** Returns:
**
**      II_RFAPI_STATUS:
**          II_RF_ST_OK on success
**
**      on failure:
**	    II_RF_ST_NULL_ARG
**	    II_RF_ST_FAIL
**
** History:
**	02-Jul-2009 (hanje04)
**	    Bug 122227
**	    SD 137277
**	    Increase size of datebuf to prevent buffer overrun in
**	    when calling rfapi_GetDateTime() :-(
**	12-Jul-2010 (hanje04)
**	    BUG 124081
**	    Add APPEND_HEADER if we're appending
*/
II_RFAPI_STATUS
rfapi_writeRFHeader( II_RFAPI_HANDLE *handle,
			FILE *fd )
{
    char 	date_buf[50]; /* buffer date and time string string */

    /* check handle is valid */
    if ( (*handle) == NULL  )
	return( II_RF_ST_NULL_ARG );
    else if ( ! (*handle)->flags & II_RF_OP_INITIALIZED )
	return( II_RF_ST_FAIL );

    if ( SIisopen( fd ) != TRUE )
	return( II_RF_ST_FAIL );

    /* get time info */
    rfapi_getDateTime( date_buf );

    /* write out header  */
    if ( (*handle)->flags & II_RF_OP_APPEND )
	SIfprintf( fd, RFAPI_RESPONSE_FILE_APPEND_HEADER, date_buf );
    else
	SIfprintf( fd, RFAPI_RESPONSE_FILE_HEADER, date_buf );

    return( II_RF_ST_OK );
}
Ejemplo n.º 3
0
/*
** Name: apiprompt_func		For prompt Messages
**
** Description:
** 	Prompt callback function
**
** History:
**      03-Feb-99 (rajus01)
**          Created.
*/
static II_VOID 
apiprompt_func( IIAPI_PROMPTPARM *promptParm )
{

    SIfprintf( outputf, "\t===== Prompt Message =====\n" );

    STcopy(password, promptParm->pd_reply);
    promptParm->pd_rep_len = STlength( promptParm->pd_reply );
    promptParm->pd_rep_flags = 0;

    if ( verboseLevel > 1 )
    {
        SIfprintf( outputf, "\tpd_envHandle\t= 0x%lx\n",
					promptParm->pd_envHandle ); 
        SIfprintf( outputf, "\tpd_connHandle\t= 0x%lx\n",
					promptParm->pd_connHandle ); 
    }
    
    if( promptParm->pd_flags & IIAPI_PR_NOECHO )
 	SIfprintf( outputf, "\tpd_flags\t= IIAPI_PR_NOECHO \n" );
    if( promptParm->pd_flags & IIAPI_PR_TIMEOUT )
    {
 	SIfprintf( outputf, "\tpd_flags\t= IIAPI_PR_TIMEOUT \n" );
 	SIfprintf( outputf, "\tpd_timeout\t= %d\n", promptParm->pd_timeout );
    }

    SIfprintf( outputf, "\tpd_msg_len\t= %d\n", promptParm->pd_msg_len );
    SIfprintf( outputf, "\tpd_message\t= %s\n", promptParm->pd_message );
    SIfprintf( outputf, "\tpd_max_reply\t= %d\n", promptParm->pd_max_reply );

    SIfprintf( outputf, "\t=========================\n" );

    return;   
}
Ejemplo n.º 4
0
void
logger(
i4 errnum, i4 arg1, i4 arg2)
{
    char buf[ ER_MAX_LEN ];
#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	Psem( &SIsem );
	SIfprintf( stderr,"Error: unexpected exception in logger()...");
	Vsem( &SIsem );

	EXdelete();
	return;
    }
#endif

    Psem( &SIsem );
    if( ERreport( errnum, buf ) == OK )
    	SIfprintf(stderr, "%s\n", buf);
    else
	SIfprintf(stderr, "ERROR %d (%x), %s %d\n", 
		errnum, errnum, arg1, arg2 );
    Vsem( &SIsem );

#ifdef EX_DEBUG
    EXdelete();
#endif
    if(errnum != E_CS0018_NORMAL_SHUTDOWN)
	PCexit(FAIL);
    PCexit(OK);
}
Ejemplo n.º 5
0
static VOID
usage()
{
    if(ingres_menu) {
    SIfprintf(stderr, ERget(E_ST0177_usage_1), SystemExecName);
    SIfprintf(stderr, ERget(E_ST017E_usage_2), SystemExecName);
    }
    else {
    SIfprintf(stderr, ERget(E_ST0534_usage_3),SystemExecName, SystemExecName);
    }
}
Ejemplo n.º 6
0
static void
yyadd_path( char *idirectory )
{
	STATUS sts;	
	IPATH *ipath_cur;
	IPATH *ipath_new;
	char *buf;

	/* Locate the last directory in the list of include paths */
	for (ipath_cur = &ihead; 
		ipath_cur->next != NULL; 
		ipath_cur = ipath_cur->next)
		continue; 

	/* Allocate memory for the new path structure */
	ipath_new = (IPATH *)MEreqmem(0, sizeof(IPATH), FALSE, &sts);
	if (ipath_new == NULL || sts != OK)
	{
		SIfprintf( stderr, E_YAPP002 );
		yydump();
	}

	/* 
	** Anchor the new structure and fill it in 
	*/

	ipath_cur->next = ipath_new;
	ipath_new->pathloc = 
		(LOCATION *)MEreqmem(0, sizeof(LOCATION), FALSE, &sts);
	ipath_new->next = NULL;

	if (ipath_new->pathloc == NULL || sts != OK )
	{
		SIfprintf( stderr, E_YAPP003 );
		yydump( );
	}

	buf = (char *)MEreqmem(0, MAX_LOC + 1, FALSE, &sts);
	if (buf == NULL || sts != OK )
	{
		SIfprintf( stderr, E_YAPP004 );
		yydump();
	}

	STcopy(idirectory, buf);
	if (LOfroms(PATH, buf, ipath_new->pathloc) != OK)
	{
		SIfprintf( stderr, E_YAPP005 );
		yydump();
	}
}
Ejemplo n.º 7
0
/* decode semaphore error */
void
semerr(
i4 rv,
CS_SEMAPHORE *sp,
char *msg)
{
    MY_SCB *scb;
#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	SIfprintf( stderr,"Error: unexpected exception in semerr()...");
	EXdelete();
	return;
    }
#endif

    CSget_scb( (CS_SCB **)&scb );
    SIfprintf(stderr, "%s %p returned %d (%s)\n", msg, sp, rv, maperr(rv) );
    SIfprintf(stderr, "\tPhilosopher %d, scb %p\n", scb->phil, scb );
    SIfprintf(stderr, "\t%p->cs_value %d\n", sp, sp->cs_value );
    SIfprintf(stderr, "\t%p->cs_count %d\n", sp, sp->cs_count );
    SIfprintf(stderr, "\t%p->cs_owner %x\n", sp, sp->cs_owner );
    SIfprintf(stderr, "\t%p->cs_list %p\n", sp, sp->cs_list );
    SIfprintf(stderr, "\t%p->cs_next %p\n", sp, sp->cs_next );

#ifdef EX_DEBUG
    EXdelete();
#endif
}
Ejemplo n.º 8
0
/*
** Name: error
**
** Description:
**	Prints an error message to stderr. If two error strings are passed
**	to the function, the function will make a win32 api call to obtain
**	a detailed error code.
**
** Re-entrancy:
**	yes.
**
** Inputs:
**	s1 - mandatory error message
**	s2 - optional error message(should only be used if a win32 api call
**		failed.
**		
** Outputs:
**	An error message.
**
** Returns:
**	To operating system a FAIL return code.
**
** Side effects:
**	Causes process to terminate.
**
** History:
**	14-jun-95 (reijo01)
**	    Created.
*/
void
error(char *s1, char *s2)
{
    DWORD 	error_code;
    if (s2)
    {
	error_code = GetLastError();
	SIfprintf( stderr, "%s: %s %s %d\n", iirundbms, s1, s2, error_code );
    }
    else
    {
	SIfprintf( stderr, "%s: %s %s\n", iirundbms, s1, s2 );
    }
    PCexit(FAIL);
}
Ejemplo n.º 9
0
void
yyerror()
{
	SIfprintf( stderr, ERget( S_ST0410_crs_syntax_error ), yylineno,
		file_name );
	PCexit( FAIL );
}
Ejemplo n.º 10
0
i4
CM_UTF32toUTF8 (int inval, char *resstr)
{
        i4 i, n;
        ConversionResult result;
        UTF32 utf32_buf[2];
        UTF8 utf8_buf[15];
        UTF32 *utf32SourceStart;
        UTF8 *utf8TargetStart;
        i2 rescnt = 0;

        utf32_buf[0] = inval; utf32_buf[1] = 0;
        for (n = 0; n < 8; n++) utf8_buf[n] = 0;

        utf32SourceStart = utf32_buf;
        utf8TargetStart = utf8_buf;

        result = CM_ConvertUTF32toUTF8((const UTF32 **) &utf32SourceStart,
                                     &(utf32_buf[1]), &utf8TargetStart,
                                     &(utf8_buf[14]),
                                     0, &rescnt);
        if (result != conversionOK) {
        SIfprintf(stderr,
            "CM_ConvertUTF32toUTF8 : fatal error: result %d for input %08x\n", result, utf32_buf[0]); exit(1);
        }
        for (i=0; i < rescnt; i++)
        {
          resstr[i] = utf8_buf[i];
        }
        return rescnt;
}
Ejemplo n.º 11
0
static i4
pp_input( FILE *input, STACK_FRAME *stack, bool ifdef )
{
	i4 token;
	u_i4 directive = NONE;

	while( directive != ENDIF && (token = yylex( input )) != tEOF )
	{
		switch( token )
		{
			case tSOURCE:
				if( active( stack ) )
					yyputline( infile->yytext );
				break;

			case tHISTORY:
				/* don't display */
				break;

			case tDIRECTIVE:
				directive = pp_directive( input, stack,
					ifdef );
				break;
		}
	}
	if( token == tEOF && ifdef )
	{
		SIfprintf( stderr, E_YAPP009 );
		yydump();
	}
	return( token );
}
Ejemplo n.º 12
0
static void
define(char *symbol, char *value, bool hist)
{
	SYMBOL **symptr_anchor;
	SYMBOL *symptr_new;
	STATUS sts;	
	char *buf;

	/* Locate the last defined symbol in the list */
	for (symptr_anchor = &symtab.head;
		*symptr_anchor != NULL; 
		symptr_anchor = &((*symptr_anchor)->next) )
		continue; 

	/* Allocate memory for the new symbol structure */
	symptr_new = (SYMBOL *)MEreqmem(0, sizeof(SYMBOL), FALSE, &sts);
	if (symptr_new == NULL || sts != OK)
	{
		SIfprintf( stderr, E_YAPP008 );
		yydump();
	}

	/* 
	** Anchor the new symbol structure and fill it in 
	*/

	*symptr_anchor = symptr_new;
	symptr_new->name = STalloc( symbol );
	symptr_new->value = STalloc( value );
	symptr_new->hist_flag = hist;
	symptr_new->next = NULL;
	symtab.nsym++;
}
Ejemplo n.º 13
0
static void
yydump( )
{
	i4 filenum;

	for (filenum = 0; filenum <= filex; filenum++)
	{
		if (filenum < MAX_INCLUDE && file[filenum].yyopen == TRUE)
			SIfprintf(stderr, E_YAPP00D, 
				file[filenum].name,
				file[filenum].yylineno,
				file[filenum].yytext);
	}
	SIfprintf(stderr, ERx("\n") );
	PCexit( FAIL );
}
Ejemplo n.º 14
0
/*
** Function:
**
**	rfapi_writeSecHeader
**
** Description:
**
**	Write given section header to open response file.
**
** Inputs:
**
**      II_RFAPI_HANDLE	*handle	 - Pointer to intialized respone file handle
**	II_RFAPI_STRING header - Section header to be written
**	FILE	*fd	- Pointer to an open response file
**
** Outputs:
**
**      None
**
** Returns:
**
**      II_RFAPI_STATUS:
**          II_RF_ST_OK on success
**
**      on failure:
**	    II_RF_ST_NULL_ARG
**	    II_RF_ST_FAIL
*/
II_RFAPI_STATUS
rfapi_writeSecHeader( II_RFAPI_HANDLE *handle,
			II_RFAPI_STRING header,
			FILE *fd )
{
    /* check handle is valid */
    if ( (*handle) == NULL  )
	return( II_RF_ST_NULL_ARG );
    else if ( ! (*handle)->flags & II_RF_OP_INITIALIZED )
	return( II_RF_ST_FAIL );

    /* check for valid header */
    if ( header == NULL || *header == '\0' )
	return( II_RF_ST_NULL_ARG );

    /* check response file is open */
    if ( SIisopen( fd ) != TRUE )
	return( II_RF_ST_FAIL );

    /* write the header */
    SIfprintf( fd, RFAPI_SECTION_HEADER, header );

    return( II_RF_ST_OK ) ;

}
Ejemplo n.º 15
0
char
*FIND_SEPstring(char *token,char *string)
{
    i4                     token_len ;
    i4                     string_len ;
    char                  *cp = NULL ;
    char                  *pp = NULL ;
    char                  *tp = NULL ;

    if (token == NULL || *token == EOS)
    {
        if (tracing&TRACE_PARM)
            SIfprintf(traceptr,ERx("FIND_SEPstring> token is null\n"));
        return (NULL);
    }
    if (string == NULL || *string == EOS)
    {
        if (tracing&TRACE_PARM)
            SIfprintf(traceptr,ERx("FIND_SEPstring> string is null\n"));
        return (NULL);
    }
    string_len = STlength(string);

    if ((token_len = STlength(token)) < string_len)
    {
        if (tracing&TRACE_PARM)
            SIfprintf(traceptr
                      ,ERx("FIND_SEPstring> token <%s> is too small (%d chars)\n")
                      ,token,token_len);

        return (NULL);
    }

    for (tp = token, cp = NULL, pp = NULL
                                     ; (*tp != EOS)&&(cp == NULL)&&(token_len-- >= string_len)
            ; CMnext(tp))
    {
        if ((STbcompare(tp, string_len, string, string_len, TRUE) == 0)
                &&((pp == NULL)||CMoper(pp)||CMwhite(pp)))
        {
            cp = tp;
        }
        pp = tp;
    }

    return (cp);
}
Ejemplo n.º 16
0
/* CM_UTF32toUTF16 - This routine accepts a UTF32 value as an i4
**		     It converts the UTF32 code to the output buffer 
**		     It writes the number of UTF16 code units written 
**		     to ocount;
**	  Input
**		invalue  The UTF32 code point value between 0 to 0x10FFFF.
**		outstr	An array of outstr pointer at least 
**
**
**	   returns converstionOK if successful >0 otherwise. 
**
** History
**	3-nov-2008 (gupsh01)
**	    Added.
*/
i4
CM_UTF32toUTF16 (i4 inval, u_i2 *outbuf, u_i2 *outend, i4 *outlen)
{
	i4 i, rescnt;
        ConversionResult result = conversionOK;
        UTF32 utf32_buf[2];
	UTF16 utf16_buf[3];
        UTF32 *utf32SourceStart, *utf32TargetStart;
        UTF16 *utf16SourceStart, *utf16TargetStart;

        utf32_buf[0] = inval; utf32_buf[1] = 0;
	utf16_buf[0] = utf16_buf[1] = utf16_buf[2] = 0;

        utf32SourceStart = utf32_buf;         
	utf16TargetStart = utf16_buf;

        if (result = CM_ConvertUTF32toUTF16((const UTF32 **) &utf32SourceStart,
                                     &(utf32_buf[1]), &utf16TargetStart,
                                     &(utf16_buf[2]),
				     0, &rescnt) != conversionOK ) 
	{
#ifdef xDebug
          SIfprintf(stderr,
            "CM_ConvertUTF32toUTF16 : fatal error: result %d for input %08x\n", 
		result, utf32_buf[0]); 
#endif
	   return result;
        }
	else if ((outbuf + rescnt) > outend)
	{
#ifdef xDebug
          SIfprintf(stderr,
            "CM_ConvertUTF32toUTF16 : fatal error: result %d for input %08x\n", 
		result, utf32_buf[0]); 
#endif
	   return targetExhausted;
	}
	else
	{
	   *outlen = rescnt; 
	   *outbuf = utf16_buf[0];
	   if (rescnt == 2)
		*(outbuf + 1) = utf16_buf[1];
	   return conversionOK;
	}
}
Ejemplo n.º 17
0
/*
**	Setup global variables and add threads for each philosopher.
**	Called by CSinitialize before threads are started
*/
STATUS
hello(
CS_INFO_CB *csib)
{
    i4 i;
    STATUS stat;
    CL_ERR_DESC	err;
#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	SIfprintf( stderr,"Error: unexpected exception in hello()...");
	EXdelete();
	return FAIL;
    }
#endif

    SIsem.cs_value = 0;
    SIsem.cs_count = 0;
    SIsem.cs_owner = NULL;
    SIsem.cs_list = NULL;
    SIsem.cs_next = NULL;

    Freesem.cs_value = 0;
    Freesem.cs_count = 0;
    Freesem.cs_owner = NULL;
    Freesem.cs_list = NULL;
    Freesem.cs_next = NULL;

    for( i = 0, stat = OK; i < n_phils && stat == OK; i++ )
    {
	Freesticks[ i ] = 2;
	stat = CSadd_thread( 0, (PTR)NULL, i + 1, (CS_SID*)NULL, &err );
    }

    /* no semaphore needed, called before CSdispatch */
    if( Noisy )
	SIfprintf(stderr, "World begins, philosophers wonder why.\n" );

#ifdef EX_DEBUG
    EXdelete();
#endif
    return( stat );
}
Ejemplo n.º 18
0
static bool
writeMgrFile( char *altPath )
{
    char *dirPath;
    char fullPath[OCFG_MAX_STRLEN];
    FILE *pfile;
    LOCATION loc;
    STATUS status;

# ifdef VMS
    NMgtAt(SYSTEM_LOCATION_VARIABLE,&dirPath);  /* usually II_SYSTEM */
    if (dirPath != NULL && *dirPath)
        STlcopy(dirPath,fullPath,sizeof(fullPath)-20-1);
    else
        return (FALSE);
    STcat(fullPath,"[");
    STcat(fullPath,SYSTEM_LOCATION_SUBDIRECTORY);  /* usually "ingres"  */
    STcat(fullPath,".files]");
    STcat(fullPath,MGR_STR_FILE_NAME);
# else
    NMgtAt(SYSTEM_LOCATION_VARIABLE,&dirPath);  /* usually II_SYSTEM */
    if (dirPath != NULL && *dirPath)
        STlcopy(dirPath,fullPath,sizeof(fullPath)-20-1);
    else
        return (FALSE);
    STcat(fullPath,"/");
    STcat(fullPath,SYSTEM_LOCATION_SUBDIRECTORY);  /* usually "ingres"  */
    STcat(fullPath,"/files/");
    STcat(fullPath,MGR_STR_FILE_NAME);
# endif /* ifdef VMS */

    if ( LOfroms(PATH & FILENAME, fullPath, &loc) != OK )
       return FALSE;

    if (SIfopen(&loc, "w", (i4)SI_TXT, OCFG_MAX_STRLEN, &pfile) != OK)
        return FALSE;

    if (altPath && *altPath)
        SIfprintf(pfile,"%s=%s\n",MGR_STR_PATH,altPath);
    SIfprintf(pfile,"%s=%s\n",MGR_STR_MANAGER,
	driverManager == MGR_VALUE_UNIX_ODBC ? 
        MGR_STR_UNIX_ODBC : MGR_STR_CAI_PT);
    return TRUE;
}
Ejemplo n.º 19
0
static ConversionResult 
CM_ConvertUTF16toUTF32 (
	const UTF16** sourceStart, const UTF16* sourceEnd, 
	UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) 
{
    ConversionResult result = conversionOK;
    const UTF16* source = *sourceStart;
    UTF32* target = *targetStart;
    UTF32 ch, ch2;
    while (source < sourceEnd) {
	const UTF16* oldSource = source; /*  In case we have to back up because of target overflow. */
	ch = *source++;
	/* If we have a surrogate pair, convert to UTF32 first. */
	if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) {
	    /* If the 16 bits following the high surrogate are in the source buffer... */
	    if (source < sourceEnd) {
		ch2 = *source;
		/* If it's a low surrogate, convert to UTF32. */
		if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) {
		    ch = ((ch - UNI_SUR_HIGH_START) << halfShift)
			+ (ch2 - UNI_SUR_LOW_START) + halfBase;
		    ++source;
		} else if (flags == strictConversion) { /* it's an unpaired high surrogate */
		    --source; /* return to the illegal value itself */
		    result = sourceIllegal;
		    break;
		}
	    } else { /* We don't have the 16 bits following the high surrogate. */
		--source; /* return to the high surrogate */
		result = sourceExhausted;
		break;
	    }
	} else if (flags == strictConversion) {
	    /* UTF-16 surrogate values are illegal in UTF-32 */
	    if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) {
		--source; /* return to the illegal value itself */
		result = sourceIllegal;
		break;
	    }
	}
	if (target >= targetEnd) {
	    source = oldSource; /* Back up source pointer! */
	    result = targetExhausted; break;
	}
	*target++ = ch;
    }
    *sourceStart = source;
    *targetStart = target;
#ifdef CVTUTF_DEBUG
if (result == sourceIllegal) {
    SIfprintf(stderr, "ConvertUTF16toUTF32 illegal seq 0x%04x,%04x\n", ch, ch2);
    SIflush(stderr);
}
#endif
    return result;
}
Ejemplo n.º 20
0
static STATUS
MEerror(
	STATUS	error_status)
{
    char	ME_err_buf[ER_MAX_LEN];

    ERreport(error_status, ME_err_buf);
    SIfprintf(stderr, "%s\n", ME_err_buf);
    return( OK );
}
Ejemplo n.º 21
0
static bool
proc_version(char *featname, bool only)
{
    PKGBLK *pkg;

    SCAN_LIST(instPkgList,pkg)
    {
	if (!STbcompare(featname, 0, pkg->feature, 0, TRUE))
	{
	    if (!only)  /* Don't identify the package if there's only one. */
		SIfprintf(batchOutf, ERx("%s "), pkg->feature);

	    SIfprintf(batchOutf, ERx("%s\n"), pkg->version);
	    return TRUE;
	}
    }

    IIUGerr(E_ST017B_not_present, 0, 1, featname);
    return FALSE;
}
Ejemplo n.º 22
0
static void
yyputline( char *outtext)
{
	char token_buf[MAX_LINE+1];
	char token_val[MAX_LINE+1];
	char *p = token_buf;
	static char *symc = ERx( 
	   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_$");
	i4 symc_l = STlength(symc);
	i4 defidx;
	static i4  iterate_level = 0;

	/* Check to make sure we don't have runaway recursion */
	if (iterate_level++ > MAX_ITERATION)
	{
		SIfprintf( stderr, E_YAPP006 );
		yydump();
	}

	/* Break up the string into tokens and try to resolve symbols */
	while (*outtext != EOS)
	{
		p = token_buf;
		while (STindex(symc, outtext, symc_l) != NULL) {
			STlcopy(outtext, p, 1);
			CMnext(outtext);
			CMnext(p);
		}

		/* Found a token that may be defined as a symbol */
		if (p != token_buf)
		{
			/* If the token is defined then translate the */
			/* value of the substituted text, otherwise just */
			/* output the untranslated text. */
			STcopy(ERx(""), p);
			if (OK == is_defined(token_buf, token_val)) 
				yyputline( token_val );
			else 
				SIprintf("%s", token_buf);
		}

		/* The text being processed at this point is whitespace, */
		/* operators, or some other characters that are not */
		/* valid for tokens. */
		else 
		{
			SIputc(*outtext, stdout);
			CMnext(outtext);
		}
	}
	iterate_level--;
}
Ejemplo n.º 23
0
void
main(int argc, char *argv[])
{

	char 	buf[ MAXBUF+1 ];
	i4 	c;
	
	
	if (argc == 1)
		PCexit(FAIL);
	for(;argc > 1 ; --argc)
		SIfprintf(stdout,"%s ",*++argv);
}
Ejemplo n.º 24
0
/*
** Function:
**
**       rfapi_doWrite
**
** Description:
**
**      Write given parameter list to open response file
**
** Inputs:
**
**      II_RFAPI_HANDLE	*handle	 - Pointer to intialized respone file handle
**	RFAPI_VAR	**var_list - List of response file variable to write
**	FILE	*fd	- Pointer to an open response file
**
** Outputs:
**
**      None
**
** Returns:
**
**      II_RFAPI_STATUS:
**          II_RF_ST_OK on success
**
**      on failure:
**	    II_RF_ST_IO_ERROR
**	    ...
**	    II_RF_ST_FAIL
*/
II_RFAPI_STATUS
rfapi_doWrite( II_RFAPI_HANDLE *handle,
		RFAPI_VAR **var_list, 
		FILE    *fd )
{
    RFAPI_PARAMS *params_ptr;
    i4	i=0;

    if ( SIisopen( fd ) != TRUE )
	return( II_RF_ST_IO_ERROR );

    /*
    ** scroll through the list of parameters in order and write out 
    ** the names and values
    */
    while ( var_list[i]  != NULL )
    {

	/* only print parameters valid for specified output format */
	if ( (*handle)->output_format & var_list[i]->valid_on )
	{
	    if ( params_ptr = rfapi_findParam( handle, var_list[i]->pname ) )
		SIfprintf( fd, "%s=%s\n",
			var_list[i]->vname, 
			(params_ptr)->param.value );
	    else if ( (*handle)->flags & II_RF_OP_WRITE_DEFAULTS &&
			(*handle)->output_format & var_list[i]->default_on ) 
		SIfprintf( fd, "%s=%s\n",
			var_list[i]->vname, 
			(*handle)->output_format & II_RF_DP_LINUX ?
			    var_list[i]->default_lnx :
			    var_list[i]->default_win );
	}
	i++;
    }

   return( II_RF_ST_OK );
}
Ejemplo n.º 25
0
/* Called when all thread functions return from the TERMINATE state */
STATUS
bye()
{
#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	SIfprintf( stderr,"Error: unexpected exception in bye()...");
	EXdelete();
	return FAIL;
    }
#endif

    /* no semaphore needed, called when all threads are dead */
    if( Noisy )
	SIfprintf(stderr, "All philosophers are dead.  World ends.\n");

#ifdef EX_DEBUG
    EXdelete();
#endif
    return( OK );
}
Ejemplo n.º 26
0
bool
IS_FileNotation(char *filenm)
{
    char                  *tmp_ptr = NULL ;

    if (tracing&TRACE_PARM)
    {
	SIfprintf(traceptr,ERx("IS_FileNotation> filenm = %s\n"),filenm);
    }

    if ((tmp_ptr = FIND_SEPstring(filenm,ERx("@FILE("))) == NULL)
    {
	if (tracing&TRACE_PARM)
	     SIfprintf(traceptr,ERx("IS_FileNotation> return FALSE\n"));

	return (FALSE);
    }
    if (tracing&TRACE_PARM)
    {
	SIfprintf(traceptr,ERx("IS_FileNotation> return TRUE\n"));
    }
    return (TRUE);
}
Ejemplo n.º 27
0
/*
** RESIGNAL a few specific errors.
*/
STATUS
ex_handler2(
EX_ARGS *ex_args)
{
    STATUS stat = EX_DECLARE;

    if (ex_args->exarg_num == free_exc) {
	Psem( &SIsem );
	SIfprintf( stderr,"RESIG:freesticks(%d)\n", ex_args->exarg_array[0]);
	Vsem( &SIsem );

	stat = EX_RESIGNAL;
    }
    if (ex_args->exarg_num == get_exc) {
	Psem( &SIsem );
	SIfprintf( stderr,"RESIG:getsticks(%d)\n", ex_args->exarg_array[0]);
	Vsem( &SIsem );

	stat = EX_RESIGNAL;
    }

    return stat;
}
Ejemplo n.º 28
0
/* Observe that philosopher n is thinking */
void
thinks(
i4 n)
{
#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	Psem( &SIsem );
	SIfprintf( stderr,"exception raised while thinking, OK...\n");
	Vsem( &SIsem );

	EXdelete();
	return;
    }
#endif

    if( Noisy )
    {
	Psem( &SIsem );
	SIfprintf(stderr, "%d (%s) thinks...\n", n, Names[ n ] );
	Vsem( &SIsem );

    }
    CSswitch();

#ifdef EX_DEBUG
    EXsignal(not_handled, 0);

    Psem( &SIsem );
    SIfprintf( stderr,"Error: should not be reached in thinks()...");
    Vsem( &SIsem );

    EXdelete();
#endif
}
Ejemplo n.º 29
0
/*
** Name: apievent_func		For Dbevent Messages
**
** Description:
** 	Dbevent callback function
**
** History:
**      03-Feb-99 (rajus01)
**          Created.
**	12-Jul-02 (gordy)
**	    ait_printData() now prints directly to output.
*/
static II_VOID 
apievent_func( IIAPI_EVENTPARM *eventParm )
{

    SIfprintf( outputf, "\t===== Dbevent Message =====\n" );

    if ( verboseLevel > 1 )
    {
        SIfprintf( outputf, "\tev_envHandle = 0x%lx\n",
					eventParm->ev_envHandle ); 
        SIfprintf( outputf, "\tev_connHandle = 0x%lx\n",
					eventParm->ev_connHandle ); 
    }

    SIfprintf( outputf, "\tev_eventName\t= %s\n", eventParm->ev_eventName ); 
    SIfprintf( outputf, "\tev_eventOwner\t= %s\n", eventParm->ev_eventOwner ); 
    SIfprintf( outputf, "\tev_eventDB\t= %s\n", eventParm->ev_eventDB ); 

    if ( verboseLevel >= 1 )
    {
        if ( eventParm->ev_eventTime.dv_null == TRUE )
	    SIfprintf( outputf, "\tev_eventTime = NULL\n" );
        else
        {
	    IIAPI_DESCRIPTOR        descr;

	    descr.ds_dataType = IIAPI_DTE_TYPE;
	    descr.ds_nullable = FALSE;
	    descr.ds_length = eventParm->ev_eventTime.dv_length;
	    descr.ds_precision = 0;
	    descr.ds_scale = 0;
	    descr.ds_columnType = IIAPI_COL_TUPLE;
	    descr.ds_columnName = NULL;
            SIfprintf( outputf, "\tev_eventTime\t= " ); 
	    ait_printData( &descr, &eventParm->ev_eventTime );
        }
    }

    SIfprintf( outputf, "\t=========================\n" );

    return;
}
Ejemplo n.º 30
0
char *
maperr(
STATUS rv)
{
    char *ret_val;

#ifdef EX_DEBUG
    EX_CONTEXT context;

    if (EXdeclare(ex_handler, &context) != OK) {
	/* some exception was raised */
	SIfprintf( stderr,"Error: unexpected exception in maperr()...");
	EXdelete();
	return "";
    }
#endif

    switch( rv )
    {
    case E_CS0017_SMPR_DEADLOCK:
	ret_val = "E_CS0017_SMPR_DEADLOCK";
	break;

    case E_CS000F_REQUEST_ABORTED:
	ret_val = "E_CS000F_REQUEST_ABORTED";
	break;

    case E_CS000A_NO_SEMAPHORE:
        ret_val = "E_CS000A_NO_SEMAPHORE";
	break;

    case OK:
	ret_val = "";
	break;

    default:
	ret_val = "Unknown exception";
	break;
    }

#ifdef EX_DEBUG
    EXdelete();
#endif
    return ret_val;
}