int main(int args, char *argv[]){ int option = checkArgs(args, argv); int returnVal = 0; switch (option){ case 1:{ //-review XmElem *top = openXmElemTree( stdin ); if (top == NULL){ return EXIT_FAILURE; } returnVal = review(top, stdout); mxCleanElem (top); break; } case 2:{ //-cat returnVal = combineFiles(args, argv, stdout); break; } case 3:{ //-keep XmElem *top = openXmElemTree( stdin ); if (top == NULL){ return EXIT_FAILURE; } returnVal = selects(top, KEEP, argv[2], stdout); mxCleanElem(top); break; } case 4:{ //-discard XmElem *top = openXmElemTree( stdin ); if (top == NULL){ return EXIT_FAILURE; } returnVal = selects(top, DISCARD, argv[2], stdout); mxCleanElem(top); break; } case 5:{ //-lib XmElem *top = openXmElemTree( stdin ); if (top == NULL){ return EXIT_FAILURE; } returnVal = libFormat(top, stdout); mxCleanElem(top); break; } case 6:{ //-bib XmElem *top = openXmElemTree( stdin ); if (top == NULL){ return EXIT_FAILURE; } returnVal = bibFormat(top, stdout); mxCleanElem(top); break; } default://invalid command return EXIT_FAILURE; } return returnVal; }
PyObject * Mx_select ( PyObject * self, PyObject * args ){ char * pattern; char selector; int functionStatus = 0; FILE * outFile = fopen( "xsdTempFiles/selectTemp.xml", "w" ); PyArg_ParseTuple( args, "cs", &selector, &pattern ); // printf( "[%c] and [%s]\n", selector, pattern ); if ( selector == 'k' ){ functionStatus = selects( top, KEEP, pattern, outFile ); } else { functionStatus = selects( top, DISCARD, pattern, outFile ); } fclose( outFile ); return Py_BuildValue ( "is", functionStatus, "xsdTempFiles/selectTemp.xml" ); }