1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_tools.hxx" 26 27 #include <stdio.h> 28 #include <tools/string.hxx> 29 30 31 /****************************************************************************/ 32 #if defined UNX 33 int main( int argc, char *argv[] ) 34 #else 35 int _cdecl main( int argc, char *argv[] ) 36 #endif 37 /****************************************************************************/ 38 { 39 if ( argc < 4 ) 40 { 41 fprintf( stderr, "ERROR: too few parameters. \n\n"); 42 fprintf( stderr, "usage: txtrep.exe EnvironmentVariable Searchstring replacestring\n"); 43 return 1; 44 } 45 ByteString aText( getenv( argv[ 1 ] )); 46 if ( aText.Len() == 0 ) 47 { 48 fprintf( stderr, "ERROR: Variable not set. \n\n"); 49 fprintf( stderr, "usage: txtrep.exe EnvironmentVariable Searchstring replacestring\n"); 50 return 2; 51 } 52 ByteString aSearch( argv[ 2 ] ); 53 ByteString aReplace( argv[ 3 ] ); 54 55 ByteString aUpperText( aText ); 56 aUpperText.ToUpperAscii(); 57 58 59 sal_uIntPtr nIndex; 60 aSearch.ToUpperAscii(); 61 62 nIndex = aUpperText.Search( aSearch.GetBuffer(), 0); 63 while ( nIndex != STRING_NOTFOUND ) 64 { 65 aText.Replace( nIndex, aSearch.Len(), aReplace.GetBuffer()); 66 aUpperText.Replace( nIndex, aSearch.Len(), aReplace.GetBuffer()); 67 nIndex = aUpperText.Search( aSearch.GetBuffer(), nIndex + aReplace.Len()); 68 } 69 70 fprintf( stdout, "%s\n", aText.GetBuffer()); 71 return 0; 72 } 73