[zaptel-commits] tzafrir: branch 1.4 r4591 - /branches/1.4/build_tools/cvt_zapdahdi

SVN commits to the Zaptel project zaptel-commits at lists.digium.com
Sun Nov 30 08:45:28 CST 2008


Author: tzafrir
Date: Sun Nov 30 08:45:28 2008
New Revision: 4591

URL: http://svn.digium.com/view/zaptel?view=rev&rev=4591
Log:
cvt_zapdahdi: convert source files between Zaptel and DAHDI
              Helps showing the real changes

Added:
    branches/1.4/build_tools/cvt_zapdahdi   (with props)

Added: branches/1.4/build_tools/cvt_zapdahdi
URL: http://svn.digium.com/view/zaptel/branches/1.4/build_tools/cvt_zapdahdi?view=auto&rev=4591
==============================================================================
--- branches/1.4/build_tools/cvt_zapdahdi (added)
+++ branches/1.4/build_tools/cvt_zapdahdi Sun Nov 30 08:45:28 2008
@@ -1,0 +1,347 @@
+#! /usr/bin/perl -w
+
+# cvt_zapdahdi: convert source files between Zaptel and DAHDI
+#               Helps showing the real changes
+#
+# Written by Oron Peled <oron at actcom.co.il>
+# Copyright (C) 2008 by Xorcom <support at xorcom.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+use strict;
+use Getopt::Std;
+
+my $VERSION = '$Id:';
+
+sub usage() {
+	warn "Usage: $0 [-v] {-d|-z} source_file\n";
+	warn "-v -- verbose\n";
+	warn "-d -- to dahdi\n";
+	warn "-z -- to zaptel\n";
+	warn "";
+	warn "Output file is <source_file>.to_<zap|dahdi>";
+	exit(1);
+}
+
+my %opts;
+getopts('zdv', \%opts);
+
+$opts{'d'} || $opts{'z'} || usage();
+
+my $suffix = ($opts{'d'}) ? "to_dahdi" : "to_zap";
+
+ at ARGV == 1 or die "Usage: $0 source_file\n";
+my $infile = shift;
+
+# Map only differing filenames
+# Note that this is a full name
+my %dahdi2zap_filenames = (
+		'dahdi-base.c'		=> 'zaptel-base.c',
+		'dahdi_dynamic.c' 	=> 'ztdynamic.c',
+		'dahdi_dynamic_eth.c' 	=> 'ztd-eth.c',
+		'dahdi_dynamic_local.c'	=> 'ztd-local.c',
+		'dahdi_transcode.c'	=> 'zttranscode.c',
+		'xpp_dahdi.c'		=> 'xpp_zap.c',
+		'xpp_dahdi.h'		=> 'xpp_zap.h',
+		'dahdi_debug.c'		=> 'zap_debug.c',
+		'dahdi_debug.h'		=> 'zap_debug.h',
+	);
+
+my %filenames = ($opts{'z'}) ? %dahdi2zap_filenames : reverse %dahdi2zap_filenames;
+my $outfile = $filenames{$infile} || $infile;
+$outfile .= ".$suffix";
+
+my %dahdi2zap_names = (
+		__DAHDI_SIG_FXO			=> '__ZT_SIG_FXO',
+		__DAHDI_SIG_FXS			=> '__ZT_SIG_FXS',
+		DAHDI_ALARM_BLUE		=> 'ZT_ALARM_BLUE',
+		DAHDI_ALARM_LOOPBACK		=> 'ZT_ALARM_LOOPBACK',
+		DAHDI_ALARM_NONE		=> 'ZT_ALARM_NONE',
+		DAHDI_ALARM_NOTOPEN		=> 'ZT_ALARM_NOTOPEN',
+		DAHDI_ALARM_RECOVER		=> 'ZT_ALARM_RECOVER',
+		DAHDI_ALARM_RED			=> 'ZT_ALARM_RED',
+		DAHDI_ALARM_YELLOW		=> 'ZT_ALARM_YELLOW',
+		DAHDI_AUDIOMODE			=> 'ZT_AUDIOMODE',
+		dahdi_bufferinfo		=> 'zt_bufferinfo',
+		DAHDI_CHANNO			=> 'ZT_CHANNO',
+		DAHDI_CHECK_HOOKSTATE		=> 'ZT_CHECK_HOOKSTATE',
+		DAHDI_CONF_CONF			=> 'ZT_CONF_CONF',
+		DAHDI_CONF_CONFANN		=> 'ZT_CONF_CONFANN',
+		DAHDI_CONF_CONFANNMON		=> 'ZT_CONF_CONFANNMON',
+		DAHDI_CONF_CONFMON		=> 'ZT_CONF_CONFMON',
+		DAHDI_CONF_DIGITALMON		=> 'ZT_CONF_DIGITALMON',
+		DAHDI_CONF_LISTENER		=> 'ZT_CONF_LISTENER',
+		DAHDI_CONF_MONITORBOTH		=> 'ZT_CONF_MONITORBOTH',
+		DAHDI_CONF_NORMAL		=> 'ZT_CONF_NORMAL',
+		DAHDI_CONF_PSEUDO_LISTENER	=> 'ZT_CONF_PSEUDO_LISTENER',
+		DAHDI_CONF_PSEUDO_TALKER	=> 'ZT_CONF_PSEUDO_TALKER',
+		DAHDI_CONF_REALANDPSEUDO	=> 'ZT_CONF_REALANDPSEUDO',
+		DAHDI_CONF_TALKER		=> 'ZT_CONF_TALKER',
+		DAHDI_CONFDIAG			=> 'ZT_CONFDIAG',
+		dahdi_confinfo			=> 'zt_confinfo',
+		DAHDI_CONFMUTE			=> 'ZT_CONFMUTE',
+		DAHDI_DEFAULT_NUM_BUFS		=> 'ZT_DEFAULT_NUM_BUFS',
+		DAHDI_DIAL			=> 'ZT_DIAL',
+		DAHDI_DIALING			=> 'ZT_DIALING',
+		DAHDI_DIAL_OP_APPEND		=> 'ZT_DIAL_OP_APPEND',
+		dahdi_dialoperation		=> 'zt_dialoperation',
+		DAHDI_DIAL_OP_REPLACE		=> 'ZT_DIAL_OP_REPLACE',
+		dahdi_dialparams		=> 'zt_dialparams',
+		DAHDI_ECHOCANCEL		=> 'ZT_ECHOCANCEL',
+		DAHDI_ECHOTRAIN			=> 'ZT_ECHOTRAIN',
+		DAHDI_EVENT_ALARM		=> 'ZT_EVENT_ALARM',
+		DAHDI_EVENT_BITSCHANGED		=> 'ZT_EVENT_BITSCHANGED',
+		DAHDI_EVENT_DIALCOMPLETE	=> 'ZT_EVENT_DIALCOMPLETE',
+		DAHDI_EVENT_DTMFDOWN		=> 'ZT_EVENT_DTMFDOWN',
+		DAHDI_EVENT_DTMFUP		=> 'ZT_EVENT_DTMFUP',
+		DAHDI_EVENT_EC_DISABLED		=> 'ZT_EVENT_EC_DISABLED',
+		DAHDI_EVENT_HOOKCOMPLETE	=> 'ZT_EVENT_HOOKCOMPLETE',
+		DAHDI_EVENT_NOALARM		=> 'ZT_EVENT_NOALARM',
+		DAHDI_EVENT_NONE		=> 'ZT_EVENT_NONE',
+		DAHDI_EVENT_ONHOOK		=> 'ZT_EVENT_ONHOOK',
+		DAHDI_EVENT_POLARITY		=> 'ZT_EVENT_POLARITY',
+		DAHDI_EVENT_PULSEDIGIT		=> 'ZT_EVENT_PULSEDIGIT',
+		DAHDI_EVENT_PULSE_START		=> 'ZT_EVENT_PULSE_START',
+		DAHDI_EVENT_REMOVED		=> 'ZT_EVENT_REMOVED',
+		DAHDI_EVENT_RINGBEGIN		=> 'ZT_EVENT_RINGBEGIN',
+		DAHDI_EVENT_RINGEROFF		=> 'ZT_EVENT_RINGEROFF',
+		DAHDI_EVENT_RINGERON		=> 'ZT_EVENT_RINGERON',
+		DAHDI_EVENT_RINGOFFHOOK		=> 'ZT_EVENT_RINGOFFHOOK',
+		DAHDI_EVENT_TIMER_EXPIRED	=> 'ZT_EVENT_TIMER_EXPIRED',
+		DAHDI_EVENT_TIMER_PING		=> 'ZT_EVENT_TIMER_PING',
+		DAHDI_EVENT_WINKFLASH		=> 'ZT_EVENT_WINKFLASH',
+		DAHDI_FLASH			=> 'ZT_FLASH',
+		DAHDI_FLUSH			=> 'ZT_FLUSH',
+		DAHDI_FLUSH_ALL			=> 'ZT_FLUSH_ALL',
+		DAHDI_FLUSH_BOTH		=> 'ZT_FLUSH_BOTH',
+		DAHDI_FLUSH_READ		=> 'ZT_FLUSH_READ',
+		DAHDI_FLUSH_WRITE		=> 'ZT_FLUSH_WRITE',
+		dahdi_gains			=> 'zt_gains',
+		DAHDI_GET_BUFINFO		=> 'ZT_GET_BUFINFO',
+		DAHDI_GETCONF			=> 'ZT_GETCONF',
+		DAHDI_GETCONFMUTE		=> 'ZT_GETCONFMUTE',
+		DAHDI_GETEVENT			=> 'ZT_GETEVENT',
+		DAHDI_GETGAINS			=> 'ZT_GETGAINS',
+		DAHDI_GET_PARAMS		=> 'ZT_GET_PARAMS',
+		DAHDI_HOOK			=> 'ZT_HOOK',
+		DAHDI_IOMUX			=> 'ZT_IOMUX',
+		DAHDI_IOMUX_READ		=> 'ZT_IOMUX_READ',
+		DAHDI_IOMUX_SIGEVENT		=> 'ZT_IOMUX_SIGEVENT',
+		DAHDI_IOMUX_WRITE		=> 'ZT_IOMUX_WRITE',
+		DAHDI_LAW_ALAW			=> 'ZT_LAW_ALAW',
+		DAHDI_LAW_DEFAULT		=> 'ZT_LAW_DEFAULT',
+		DAHDI_LAW_MULAW			=> 'ZT_LAW_MULAW',
+		DAHDI_MAX_NUM_BUFS		=> 'ZT_MAX_NUM_BUFS',
+		DAHDI_MAX_SPANS			=> 'ZT_MAX_SPANS',
+		DAHDI_OFFHOOK			=> 'ZT_OFFHOOK',
+		DAHDI_ONHOOK			=> 'ZT_ONHOOK',
+		DAHDI_ONHOOKTRANSFER		=> 'ZT_ONHOOKTRANSFER',
+		dahdi_params			=> 'zt_params',
+		DAHDI_POLICY_IMMEDIATE		=> 'ZT_POLICY_IMMEDIATE',
+		DAHDI_POLICY_WHEN_FULL		=> 'ZT_POLICY_WHEN_FULL',
+		DAHDI_PRI			=> 'ZT_PRI',
+		DAHDI_RING			=> 'ZT_RING',
+		DAHDI_RINGOFF			=> 'ZT_RINGOFF',
+		DAHDI_SENDTONE			=> 'ZT_SENDTONE',
+		DAHDI_SET_BLOCKSIZE		=> 'ZT_SET_BLOCKSIZE',
+		DAHDI_SET_BUFINFO		=> 'ZT_SET_BUFINFO',
+		DAHDI_SETCADENCE		=> 'ZT_SETCADENCE',
+		DAHDI_SETCONF			=> 'ZT_SETCONF',
+		DAHDI_SET_DIALPARAMS		=> 'ZT_SET_DIALPARAMS',
+		DAHDI_SETGAINS			=> 'ZT_SETGAINS',
+		DAHDI_SETLAW			=> 'ZT_SETLAW',
+		DAHDI_SETLINEAR			=> 'ZT_SETLINEAR',
+		DAHDI_SET_PARAMS		=> 'ZT_SET_PARAMS',
+		DAHDI_SETTONEZONE		=> 'ZT_SETTONEZONE',
+		DAHDI_SIG_CLEAR			=> 'ZT_SIG_CLEAR',
+		DAHDI_SIG_EM			=> 'ZT_SIG_EM',
+		DAHDI_SIG_EM_E1			=> 'ZT_SIG_EM_E1',
+		DAHDI_SIG_FXO			=> 'ZT_SIG_FXO',
+		DAHDI_SIG_FXOGS			=> 'ZT_SIG_FXOGS',
+		DAHDI_SIG_FXOKS			=> 'ZT_SIG_FXOKS',
+		DAHDI_SIG_FXOLS			=> 'ZT_SIG_FXOLS',
+		DAHDI_SIG_FXS			=> 'ZT_SIG_FXS',
+		DAHDI_SIG_FXSGS			=> 'ZT_SIG_FXSGS',
+		DAHDI_SIG_FXSKS			=> 'ZT_SIG_FXSKS',
+		DAHDI_SIG_FXSLS			=> 'ZT_SIG_FXSLS',
+		DAHDI_SIG_HARDHDLC		=> 'ZT_SIG_HARDHDLC',
+		DAHDI_SIG_HDLCFCS		=> 'ZT_SIG_HDLCFCS',
+		DAHDI_SIG_SF			=> 'ZT_SIG_SF',
+		dahdi_spaninfo			=> 'zt_spaninfo',
+		DAHDI_SPANSTAT			=> 'ZT_SPANSTAT',
+		DAHDI_SPECIFY			=> 'ZT_SPECIFY',
+		DAHDI_START			=> 'ZT_START',
+		DAHDI_TC_ALLOCATE		=> 'ZT_TC_ALLOCATE',
+		DAHDI_TC_GETINFO		=> 'ZT_TC_GETINFO',
+		DAHDI_TIMERACK			=> 'ZT_TIMERACK',
+		DAHDI_TIMERCONFIG		=> 'ZT_TIMERCONFIG',
+		DAHDI_TIMERPING			=> 'ZT_TIMERPING',
+		DAHDI_TIMERPONG			=> 'ZT_TIMERPONG',
+		DAHDI_TONE_BUSY			=> 'ZT_TONE_BUSY',
+		DAHDI_TONE_CONGESTION		=> 'ZT_TONE_CONGESTION',
+		DAHDI_TONEDETECT		=> 'ZT_TONEDETECT',
+		DAHDI_TONEDETECT_MUTE		=> 'ZT_TONEDETECT_MUTE',
+		DAHDI_TONEDETECT_ON		=> 'ZT_TONEDETECT_ON',
+		DAHDI_TONE_DIALRECALL		=> 'ZT_TONE_DIALRECALL',
+		DAHDI_TONE_DIALTONE		=> 'ZT_TONE_DIALTONE',
+		DAHDI_TONE_DTMF_A		=> 'ZT_TONE_DTMF_A',
+		DAHDI_TONE_DTMF_BASE		=> 'ZT_TONE_DTMF_BASE',
+		DAHDI_TONE_DTMF_p		=> 'ZT_TONE_DTMF_p',
+		DAHDI_TONE_DTMF_s		=> 'ZT_TONE_DTMF_s',
+		DAHDI_TONE_INFO			=> 'ZT_TONE_INFO',
+		DAHDI_TONE_RINGTONE		=> 'ZT_TONE_RINGTONE',
+		DAHDI_TONE_STUTTER		=> 'ZT_TONE_STUTTER',
+		dahdi_transcoder_formats	=> 'zt_transcoder_formats',
+		dahdi_transcoder_info		=> 'zt_transcoder_info',
+		DAHDI_vldtmf			=> 'ZT_vldtmf',
+		DAHDI_WINK			=> 'ZT_WINK',
+		HAVE_DAHDI			=> 'HAVE_ZAPTEL',
+		dahdi_ring_cadence		=> 'zt_ring_cadence',
+		dahdi_span			=> 'zt_span',
+		dahdi_chan			=> 'zt_chan',
+		'enum dahdi_txsig'		=> 'zt_txsig_t',
+		'enum dahdi_rxsig'		=> 'zt_rxsig_t',
+		dahdi_hooksig			=> 'zt_hooksig',
+		dahdi_register			=> 'zt_register',
+		dahdi_alarm_notify		=> 'zt_alarm_notify',
+		dahdi_qevent_lock		=> 'zt_qevent_lock',
+		CONFIG_DAHDI_BRI_DCHANS		=> 'CONFIG_ZAPATA_BRI_DCHANS',
+		DAHDI_SIG_HDLCRAW		=> 'ZT_SIG_HDLCRAW',
+		DAHDI_SIG_HDLCFCS		=> 'ZT_SIG_HDLCFCS',
+		DAHDI_SIG_HDLCNET		=> 'ZT_SIG_HDLCNET',
+		DAHDI_SIG_SLAVE			=> 'ZT_SIG_SLAVE',
+		DAHDI_SIG_CAS			=> 'ZT_SIG_CAS',
+		DAHDI_SIG_DACS			=> 'ZT_SIG_DACS',
+		DAHDI_SIG_DACS_RBS		=> 'ZT_SIG_DACS_RBS',
+		DAHDI_SIG_SF			=> 'ZT_SIG_SF',
+		DAHDI_SIG_NONE			=> 'ZT_SIG_NONE',
+		dahdi_lineconfig		=> 'zt_lineconfig',
+		DAHDI_CONFIG_B8ZS		=> 'ZT_CONFIG_B8ZS',
+		DAHDI_CONFIG_AMI		=> 'ZT_CONFIG_AMI',
+		DAHDI_CONFIG_HDB3		=> 'ZT_CONFIG_HDB3',
+		DAHDI_CONFIG_ESF		=> 'ZT_CONFIG_ESF',
+		DAHDI_CONFIG_D4			=> 'ZT_CONFIG_D4',
+		DAHDI_CONFIG_CCS		=> 'ZT_CONFIG_CCS',
+		DAHDI_CONFIG_CRC4		=> 'ZT_CONFIG_CRC4',
+		DAHDI_CONFIG_NOTOPEN		=> 'ZT_CONFIG_NOTOPEN',
+		DAHDI_FLAG_RUNNING		=> 'ZT_FLAG_RUNNING',
+		DAHDI_FLAG_PRIDCHAN		=> 'ZT_FLAG_PRIDCHAN',
+		DAHDI_FLAG_HDLC			=> 'ZT_FLAG_HDLC',
+		DAHDI_FLAG_RBS			=> 'ZT_FLAG_RBS',
+		DAHDI_RXSIG_RING		=> 'ZT_RXSIG_RING',
+		DAHDI_RXSIG_OFFHOOK		=> 'ZT_RXSIG_OFFHOOK',
+		DAHDI_RXSIG_ONHOOK		=> 'ZT_RXSIG_ONHOOK',
+		DAHDI_RXSIG_START		=> 'ZT_RXSIG_START',
+		DAHDI_RXSIG_INITIAL		=> 'ZT_RXSIG_INITIAL',
+		DAHDI_TXSIG_START		=> 'ZT_TXSIG_START',
+		DAHDI_TXSIG_TOTAL		=> 'ZT_TXSIG_TOTAL',
+		DAHDI_EVENT_ABORT		=> 'ZT_EVENT_ABORT',
+		DAHDI_EVENT_OVERRUN		=> 'ZT_EVENT_OVERRUN',
+		DAHDI_EVENT_BADFCS		=> 'ZT_EVENT_BADFCS',
+		DAHDI_TXSIG_OFFHOOK		=> 'ZT_TXSIG_OFFHOOK',
+		DAHDI_TXSIG_ONHOOK		=> 'ZT_TXSIG_ONHOOK',
+		DAHDI_TXSIG_KEWL		=> 'ZT_TXSIG_KEWL',
+		DAHDI_MAINT_NONE		=> 'ZT_MAINT_NONE',
+		DAHDI_MAINT_LOCALLOOP		=> 'ZT_MAINT_LOCALLOOP',
+		DAHDI_MAINT_REMOTELOOP		=> 'ZT_MAINT_REMOTELOOP',
+		DAHDI_MAINT_LOOPUP		=> 'ZT_MAINT_LOOPUP',
+		DAHDI_MAINT_LOOPDOWN		=> 'ZT_MAINT_LOOPDOWN',
+		DAHDI_MAINT_LOOPSTOP		=> 'ZT_MAINT_LOOPSTOP',
+		DAHDI_SETPOLARITY		=> 'ZT_SETPOLARITY',
+		DAHDI_CHUNKSIZE			=> 'ZT_CHUNKSIZE',
+		CONFIG_DAHDI_WATCHDOG		=> 'CONFIG_ZAPTEL_WATCHDOG',
+		DAHDI_XLAW			=> 'ZT_XLAW',
+		DAHDI_VMWI			=> 'ZT_VMWI',
+		dahdi_alarm_channel		=> 'zt_alarm_channel',
+		dahdi_ec_chunk			=> 'zt_ec_chunk',
+		dahdi_transmit			=> 'zt_transmit',
+		dahdi_receive			=> 'zt_receive',
+		dahdi_rbsbits			=> 'zt_rbsbits',
+		'dahdi/kernel.h'		=> 'zaptel.h',
+# XPP substitutions
+		DAHDI_SYNC_TICK			=> 'ZAPTEL_SYNC_TICK',
+		dahdi_ticker			=> 'zaptel_ticker',
+		card_dahdi_preregistration	=> 'card_zaptel_preregistration',
+		card_dahdi_postregistration	=> 'card_zaptel_postregistration',
+		FXS_card_dahdi_preregistration	=> 'FXS_card_zaptel_preregistration',
+		FXS_card_dahdi_postregistration	=> 'FXS_card_zaptel_postregistration',
+		FXO_card_dahdi_preregistration	=> 'FXO_card_zaptel_preregistration',
+		FXO_card_dahdi_postregistration	=> 'FXO_card_zaptel_postregistration',
+		BRI_card_dahdi_preregistration	=> 'BRI_card_zaptel_preregistration',
+		BRI_card_dahdi_postregistration	=> 'BRI_card_zaptel_postregistration',
+		PRI_card_dahdi_preregistration	=> 'PRI_card_zaptel_preregistration',
+		PRI_card_dahdi_postregistration	=> 'PRI_card_zaptel_postregistration',
+		dahdi_registration		=> 'zt_registration',
+		dahdi_registered		=> 'zt_registered',
+		dahdi_unregister		=> 'zt_unregister',
+		dahdi_register_xpd		=> 'zaptel_register_xpd',
+		dahdi_unregister_xpd		=> 'zaptel_unregister_xpd',
+		dahdi_autoreg			=> 'zap_autoreg',
+		dahdi_reg			=> 'zt_reg',
+		dahdi_update_syncsrc		=> 'zap_update_syncsrc',
+		dahdi_sync_tick			=> 'zaptel_sync_tick',
+		dahdi_tick			=> 'zaptel_tick',
+		dahdi_tick_count		=> 'zaptel_tick_count',
+		force_dahdi_sync		=> 'force_zaptel_sync',
+		xpp_dahdi_init			=> 'xpp_zap_init',
+		xpp_dahdi_cleanup		=> 'xpp_zap_cleanup',
+		dahdi_report_battery		=> 'zap_report_battery',
+		update_dahdi_ring		=> 'update_zap_ring',
+		'xpp_dahdi.h'			=> 'xpp_zap.h',
+		'dahdi_debug.h'			=> 'zap_debug.h',
+		update_dahdi			=> 'update_zap',
+		dahdi_cfg			=> 'ztcfg',
+		dahdi				=> 'zaptel',
+		Dahdi				=> 'Zaptel',
+		DAHDI				=> 'ZAPTEL',
+		'<dahdi/kernel.h>'		=> '<zaptel.h>',
+		'<dahdi/wctdm_user.h>'		=> '<wctdm.h>',
+		'XPP_DAHDI_H'			=> 'XPP_ZAP_H',
+		'DAHDI_DEBUG_H'			=> 'ZAP_DEBUG_H',
+	);
+
+my %names = ($opts{'z'}) ? %dahdi2zap_names : reverse %dahdi2zap_names;
+
+sub build_regex(@) {
+	# Match longer strings first
+	my @keys = sort { length($b) <=> length($a) } @_;
+	return '\b' . join('\b|\b', @keys) . '\b';
+}
+
+my $huge_regex = build_regex(keys %names);
+#print STDERR "huge_regex:  '$huge_regex'\n";
+
+sub map_one($) {
+	my $k = shift;
+	my $v = $names{$k};
+	if(defined $v) {
+		#print STDERR "Replace: '$k'\n";
+		return $v;
+	}
+	warn "$0: Unmapped '$k'. Leave as is...\n";
+	return $k;
+}
+
+open(F, $infile) || die "$infile: $!\n";
+open(G, ">$outfile") || die "$outfile: $!\n";
+while(<F>) {
+	chomp;
+	if(s/$huge_regex/&map_one($&)/ge) {
+		print STDERR "Fixed: '$_'\n" if $opts{'v'};
+	}
+	print G "$_\n";
+}
+close F;
+close G;

Propchange: branches/1.4/build_tools/cvt_zapdahdi
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/build_tools/cvt_zapdahdi
------------------------------------------------------------------------------
    svn:executable = *

Propchange: branches/1.4/build_tools/cvt_zapdahdi
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: branches/1.4/build_tools/cvt_zapdahdi
------------------------------------------------------------------------------
    svn:mime-type = text/plain




More information about the zaptel-commits mailing list