SHELL uint ulist_disp(char *s) { uint i,c,j,f; f=(*s=='\0'||strcmp(s,"?")==SAME); if (user.member==0) { msgout(IC_err "メンバーがいません。"); return 0; } c=0; lo_line("user list"); for (i=1;i<=user.member;++i) { if (!f&& strfcmp(s,ulist_getid(i))!=SAME) continue; ++c; j=i; prt(lpu(i,-4),DC_norm FC_code_s ,nps(ulist_getid(i),LN_id),FC_code_e ,nps(ulist_gethandle(i),LN_handle),FC_str2_s ,nps(ulist_getmemo(i),34),FC_str2_e "\n",NULL); } lo_line1(); if (c==0) return 0; if (c==1) return j; else return ERROR; }
int main( int argc, char **argv ) /*******************************/ { int rc; #ifndef __WATCOMC__ _argc = argc; _argv = argv; #endif if( argc <= 1 ) { /* no arguments: just tell the user who I am */ puts( "Usage: owcc [-?] [options] file ..." ); exit( EXIT_SUCCESS ); } errno = 0; /* Standard C does not require fopen failure to set errno */ if( (Fp = fopen( TEMPFILE, "w" )) == NULL ) { /* Message before banner decision as '@' option uses Fp in Parse() */ PrintMsg( WclMsgs[UNABLE_TO_OPEN_TEMPORARY_FILE], TEMPFILE, strerror( errno ) ); exit( EXIT_FAILURE ); } MemInit(); ProcMemInit(); /* destruct the temp. linker script in case of -? or parse errors */ atexit( ExitHandler ); rc = Parse( argc, argv ); if( rc == 0 ) { if( !Flags.be_quiet ) { print_banner(); } rc = CompLink(); } if( rc == 1 ) { fclose( Fp ); Fp = NULL; } if( Link_Name != NULL ) { if( strfcmp( Link_Name, TEMPFILE ) != 0 ) { remove( Link_Name ); rename( TEMPFILE, Link_Name ); } } else { remove( TEMPFILE ); } ProcMemFini(); MemFini(); return( rc == 0 ? 0 : 1 ); }
static int FileExtension( char *p, char *ext ) /********************************************/ { char *dot; dot = NULL; while( *p != '\0' ) { if( *p == '.' ) dot = p; ++p; } if( dot != NULL ) { if( strfcmp( dot, ext ) == 0 ) { return( 1 ); /* indicate file extension matches */ } } return( 0 ); /* indicate no match */ }
static int useCPlusPlus( char *p ) /********************************/ { return( strfcmp( p, ".cp" ) == 0 || strfcmp( p, ".cpp" ) == 0 || #ifdef __UNIX__ strcmp( p, ".c++" ) == 0 || strcmp( p, ".C" ) == 0 || #endif strfcmp( p, ".cxx" ) == 0 || strfcmp( p, ".cc" ) == 0 || strfcmp( p, ".hpp" ) == 0 || strfcmp( p, ".hxx" ) == 0 ); }
static tool_type SrcName( char *name ) /************************************/ { char *p; tool_type utl; p = strrchr( name, '.' ); if( p == NULL || strpbrk( p, PATH_SEPS_STR ) != NULL ) p = name + strlen( name ); if( strfcmp( p, ".asm" ) == 0 || stricmp( p, ".s" ) == 0 ) { utl = TYPE_ASM; } else { utl = TYPE_C; // assume C compiler if( !Flags.force_c ) { if( Flags.force_c_plus || useCPlusPlus( p ) ) { utl = TYPE_CPP; // use C++ compiler } } } return( utl ); }