| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_tools.hxx" |
| |
| #include <stdio.h> |
| #include <tools/string.hxx> |
| |
| |
| /****************************************************************************/ |
| #if defined UNX |
| int main( int argc, char *argv[] ) |
| #else |
| int _cdecl main( int argc, char *argv[] ) |
| #endif |
| /****************************************************************************/ |
| { |
| if ( argc < 4 ) |
| { |
| fprintf( stderr, "ERROR: too few parameters. \n\n"); |
| fprintf( stderr, "usage: txtrep.exe EnvironmentVariable Searchstring replacestring\n"); |
| return 1; |
| } |
| ByteString aText( getenv( argv[ 1 ] )); |
| if ( aText.Len() == 0 ) |
| { |
| fprintf( stderr, "ERROR: Variable not set. \n\n"); |
| fprintf( stderr, "usage: txtrep.exe EnvironmentVariable Searchstring replacestring\n"); |
| return 2; |
| } |
| ByteString aSearch( argv[ 2 ] ); |
| ByteString aReplace( argv[ 3 ] ); |
| |
| ByteString aUpperText( aText ); |
| aUpperText.ToUpperAscii(); |
| |
| |
| sal_uIntPtr nIndex; |
| aSearch.ToUpperAscii(); |
| |
| nIndex = aUpperText.Search( aSearch.GetBuffer(), 0); |
| while ( nIndex != STRING_NOTFOUND ) |
| { |
| aText.Replace( nIndex, aSearch.Len(), aReplace.GetBuffer()); |
| aUpperText.Replace( nIndex, aSearch.Len(), aReplace.GetBuffer()); |
| nIndex = aUpperText.Search( aSearch.GetBuffer(), nIndex + aReplace.Len()); |
| } |
| |
| fprintf( stdout, "%s\n", aText.GetBuffer()); |
| return 0; |
| } |