Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / support / lsplitter.c
/*
* ========== Copyright Header Begin ==========================================
*
* OpenSPARC T2 Processor File: lsplitter.c
* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
*
* The above named program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License version 2 as published by the Free Software Foundation.
*
* The above named program is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this work; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*
* ========== Copyright Header End ============================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
/* really dumb line splitting program */
int
main(int argc, char ** argv)
{
FILE * infp, *outfp;
char * matchp;
int idx, ch;
if (argc != 2) {
fprintf(stderr,"usage: %s <splitstring>\n", argv[0]);
exit(1);
}
matchp = argv[1];
infp = stdin;
outfp = stdout;
idx = 0;
while ( (ch=fgetc(infp))!=EOF) {
if (matchp[idx] == ch) {
idx ++;
if (matchp[idx]=='\0') {
fputc('\n', outfp);
idx = 0;
}
} else {
int q;
for (q=0; q<idx; q++)
fputc(matchp[q], outfp);
fputc(ch, outfp);
idx = 0;
}
}
fclose(outfp);
fclose(infp);
return (0);
}