Opened 4 years ago

Last modified 3 years ago

#1112 reopened defect/bug

WinCE: strftime eats percent sign when '%i' is used in filename format, leaving just 'i' in place

Reported by: leonardohamada Owned by:
Priority: trivial Milestone: version 0.5.1
Component: port/wince Version: git master
Severity: trivial Keywords: xml, osd, display, strings
Cc:

Description

When '%i' is used on format for filename for sequential numbering of files within navit.xml, it is replaced by the literal 'i' appended on the resulting file by navit.

On wince, navit compiled with mingw32ce-mk-2013-04-03-amd64 (http://max.kellermann.name/projects/cegcc/) on Arch, this is caused by strftime function omitting the literal '%' sign on the format string, as '%i' has no corresponding expansion by strftime.

Proposed solution 1.

Use double percent sign, '%%i', this should be harmless because it eplicitly tells strftime to output a single '%' sign, leaving a correct '%i' on the format string, that will be replaced by an integer then.

Must be updated in the wiki documentation example as: data="%Y%m%d-%%i.gpx"

Proposed solution 2.

Adjust the source in log.c to the desired behavior.

Please, review this carefully.

Thanks.

Attachments (1)

navit_new_search_replace_function_and_sequential_log_number_fix.patch (8.8 KB) - added by leonardohamada 4 years ago.
Updated patch

Download all attachments as: .zip

Change History (11)

comment:1 Changed 4 years ago by sleske

Hi,thank you for your report.

I'm having some trouble understanding the exact problem. Unfortunately, your report mixes problem, analysis and solution. Could you provide a testcase, or instructions to reproduce the problem?

Also, you refer to "the source in log.c" and "the wiki documentation"; please always note the exact location you are referring to.

comment:2 Changed 4 years ago by leonardohamada

Last edited 4 years ago by leonardohamada (previous) (diff)

comment:3 Changed 4 years ago by sleske

Thanks for the explanation. If I understand you correctly, navit_shipped.xml and the Wiki need to be corrected.

The wiki you can correct yourself, just request an account: https://wiki.navit-project.org/index.php/Special:RequestAccount , then you can edit yourself.

If you can provide a patch for navit_shipped.xml, attach it to this report, and I can committ it.

comment:4 Changed 4 years ago by leonardohamada

Last edited 4 years ago by leonardohamada (previous) (diff)

comment:5 Changed 4 years ago by leonardohamada

  • Resolution set to fixed
  • Status changed from new to closed
  • Summary changed from on wince, strftime eats percent sign when '%i' is used in filename format, leaving just 'i' in place. to -

comment:6 Changed 4 years ago by sleske

  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Summary changed from - to WinCE: strftime eats percent sign when '%i' is used in filename format, leaving just 'i' in place

Why did you delete the summary of a ticket? Please do not do that.

You are free to delete your patch if you want to take it back, but it would be nice to give a short explanation.

I'm reopening this ticket, as the problem is not fixed.

comment:7 Changed 4 years ago by leonardohamada

Ok,

Was not sure if the patch was worth the trouble and would increase Navit code to about ~40 lines.

Also found an issue with empty strings in the function included in the patch, if it was intended to be used in a more general sense.

Will do a bit more stress test and resubmit it again, patience.

Leo

comment:8 Changed 4 years ago by leonardohamada

Hello,

A patch file was updated for this issue.

One approach to fix this issue is to use a string substitution function before strftime is invoked.

This naturally can be done with regular expressions, but this probably is not activated in the library shipped with navit.

In the patch, a string replace utility function is included as a workaround/fix.

The function is named g_strdup_replace_util, implemented in util.c file.

A testfile main.c below was used for debbugging this function to avoid introducing unnoticed bug.

#include <glib.h>
#include <stdio.h>
#include <string.h>

/**
 *  Simple function implementation to replace literal string occurrences.
 *
 *  @param in input_s input string
 *  @param in search_s substring to match and be replaced in the input string
 *  @param in replace_s replacement substring
 *  @param in n_subst number up to substitutions to be made from the string beginning, -1 to replace all
 *  @return new string with replaced occurrences of search by replace string, use gfree() to free after use.
 */
gchar *
g_strdup_replace_util(const gchar *input_s, const gchar *search_s,
                                const gchar *replace_s, gint n_subst) {
	gchar *ret;
	gint match_count = 0;
	const gchar *scan_ptr = input_s, *match_ptr;
	glong input_len, unchanged_len, match_len, replace_len, result_len = 0;
	gsize alloc_size;
	// Validate the inputs in order to prevent unexpected behaviour
	if (!input_s || !search_s || !replace_s || !n_subst)
		return g_strdup(input_s);
	// Handle special cases first.
	if ('\0' == *search_s) {
		if ('\0' == *input_s)
			return g_strdup(replace_s);
		else
			return g_strdup(input_s);
	}
	// Get the matching string pattern length.
	match_len = strlen(search_s);
	// Count the number of substitutions to be made on the input string.
	while (((match_count < n_subst) || (-1 >= n_subst)) &&
			(match_ptr = strstr(scan_ptr, search_s))) {
		// Advance the string scanning pointer to the position
		// just after the end of matched string segment.
		scan_ptr = match_ptr + match_len;
		// Count the number of matches done.
		++match_count;
	}
	// Get the input string length.
	input_len = (gsize) (scan_ptr - input_s) + strlen(scan_ptr);
	// Get the replacement string length.
	replace_len = strlen(replace_s);
	// Allocate memory space for result including the terminating null byte.
	alloc_size = input_len - match_count * match_len + match_count * replace_len + 1;
	//printf("mc=%d, ml=%ld, il=%ld, rl=%ld, alloc=%d, ", match_count, match_len, input_len, replace_len, alloc_size);
	ret = g_new(gchar, alloc_size);
	// Scan the input string again and compose the resulting string.
	for (scan_ptr = input_s; match_count &&
			(match_ptr = strstr(scan_ptr, search_s));
					scan_ptr = match_ptr + match_len) {
		// Get the length of partial string that is left unchanged.
		unchanged_len = (gsize) (match_ptr - scan_ptr);
		// Copy and append an unchanged string chunk.
		g_memmove(ret + result_len, scan_ptr, unchanged_len);
		// Update the resulting string length after appending the unchanged string segment.
		result_len += unchanged_len;
		// Copy and append a replacement instance.
		g_memmove(ret + result_len, replace_s, replace_len);
		// Update the resulting string length after appending the replacement string.
		result_len += replace_len;
		// Decrement to update the remaining replacement left.
		--match_count;
	}
	// Copy the remaining chunk including the null byte to complete the resulting string.
	g_memmove(ret + result_len, scan_ptr, input_len - (scan_ptr - input_s) + 1);
	// Finally, return the resulting new string.
	return ret;
}
int main(int argc, char **argv) {
	int i,j,k,l;
	char * in[] = {NULL,"","People thought the Earth was flat.", "Black dog, white dog"};
	char * se[] = {NULL,"","People thought", "dog"};
	char * re[] = {NULL,"","Assumed incorrectly that", "believed", "cat"};
	char * sa;
	int    nr[] = {-1,0,1,2,99};
	for ( i=0; i<4; ++i) {
		for ( j=0; j<4; ++j) {
			for ( k=0; k<5; ++k) {
				for ( l=0; l<6; ++l) {
					printf("replace(in=\"%s\",se=\"%s\",re=\"%s\",nr=%d)-->", in[i], se[j], re[k], nr[l]);
					sa = g_strdup_replace_util(in[i], se[j], re[k], nr[l]);
					printf("\"%s\"\n", sa);
					g_free(sa);
				}
			}
		}
	}
	return 0;
}

The output of the test file follows:

replace(in="(null)",se="(null)",re="(null)",nr=-1)-->"(null)"
replace(in="(null)",se="(null)",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="(null)",nr=1)-->"(null)"
replace(in="(null)",se="(null)",re="(null)",nr=2)-->"(null)"
replace(in="(null)",se="(null)",re="(null)",nr=99)-->"(null)"
replace(in="(null)",se="(null)",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="",nr=-1)-->"(null)"
replace(in="(null)",se="(null)",re="",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="",nr=1)-->"(null)"
replace(in="(null)",se="(null)",re="",nr=2)-->"(null)"
replace(in="(null)",se="(null)",re="",nr=99)-->"(null)"
replace(in="(null)",se="(null)",re="",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="Assumed incorrectly that",nr=-1)-->"(null)"
replace(in="(null)",se="(null)",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="Assumed incorrectly that",nr=1)-->"(null)"
replace(in="(null)",se="(null)",re="Assumed incorrectly that",nr=2)-->"(null)"
replace(in="(null)",se="(null)",re="Assumed incorrectly that",nr=99)-->"(null)"
replace(in="(null)",se="(null)",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="believed",nr=-1)-->"(null)"
replace(in="(null)",se="(null)",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="believed",nr=1)-->"(null)"
replace(in="(null)",se="(null)",re="believed",nr=2)-->"(null)"
replace(in="(null)",se="(null)",re="believed",nr=99)-->"(null)"
replace(in="(null)",se="(null)",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="cat",nr=-1)-->"(null)"
replace(in="(null)",se="(null)",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="(null)",re="cat",nr=1)-->"(null)"
replace(in="(null)",se="(null)",re="cat",nr=2)-->"(null)"
replace(in="(null)",se="(null)",re="cat",nr=99)-->"(null)"
replace(in="(null)",se="(null)",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="",re="(null)",nr=-1)-->"(null)"
replace(in="(null)",se="",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="",re="(null)",nr=1)-->"(null)"
replace(in="(null)",se="",re="(null)",nr=2)-->"(null)"
replace(in="(null)",se="",re="(null)",nr=99)-->"(null)"
replace(in="(null)",se="",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="",re="",nr=-1)-->"(null)"
replace(in="(null)",se="",re="",nr=0)-->"(null)"
replace(in="(null)",se="",re="",nr=1)-->"(null)"
replace(in="(null)",se="",re="",nr=2)-->"(null)"
replace(in="(null)",se="",re="",nr=99)-->"(null)"
replace(in="(null)",se="",re="",nr=0)-->"(null)"
replace(in="(null)",se="",re="Assumed incorrectly that",nr=-1)-->"(null)"
replace(in="(null)",se="",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="",re="Assumed incorrectly that",nr=1)-->"(null)"
replace(in="(null)",se="",re="Assumed incorrectly that",nr=2)-->"(null)"
replace(in="(null)",se="",re="Assumed incorrectly that",nr=99)-->"(null)"
replace(in="(null)",se="",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="",re="believed",nr=-1)-->"(null)"
replace(in="(null)",se="",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="",re="believed",nr=1)-->"(null)"
replace(in="(null)",se="",re="believed",nr=2)-->"(null)"
replace(in="(null)",se="",re="believed",nr=99)-->"(null)"
replace(in="(null)",se="",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="",re="cat",nr=-1)-->"(null)"
replace(in="(null)",se="",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="",re="cat",nr=1)-->"(null)"
replace(in="(null)",se="",re="cat",nr=2)-->"(null)"
replace(in="(null)",se="",re="cat",nr=99)-->"(null)"
replace(in="(null)",se="",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="(null)",nr=-1)-->"(null)"
replace(in="(null)",se="People thought",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="(null)",nr=1)-->"(null)"
replace(in="(null)",se="People thought",re="(null)",nr=2)-->"(null)"
replace(in="(null)",se="People thought",re="(null)",nr=99)-->"(null)"
replace(in="(null)",se="People thought",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="",nr=-1)-->"(null)"
replace(in="(null)",se="People thought",re="",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="",nr=1)-->"(null)"
replace(in="(null)",se="People thought",re="",nr=2)-->"(null)"
replace(in="(null)",se="People thought",re="",nr=99)-->"(null)"
replace(in="(null)",se="People thought",re="",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="Assumed incorrectly that",nr=-1)-->"(null)"
replace(in="(null)",se="People thought",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="Assumed incorrectly that",nr=1)-->"(null)"
replace(in="(null)",se="People thought",re="Assumed incorrectly that",nr=2)-->"(null)"
replace(in="(null)",se="People thought",re="Assumed incorrectly that",nr=99)-->"(null)"
replace(in="(null)",se="People thought",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="believed",nr=-1)-->"(null)"
replace(in="(null)",se="People thought",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="believed",nr=1)-->"(null)"
replace(in="(null)",se="People thought",re="believed",nr=2)-->"(null)"
replace(in="(null)",se="People thought",re="believed",nr=99)-->"(null)"
replace(in="(null)",se="People thought",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="cat",nr=-1)-->"(null)"
replace(in="(null)",se="People thought",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="People thought",re="cat",nr=1)-->"(null)"
replace(in="(null)",se="People thought",re="cat",nr=2)-->"(null)"
replace(in="(null)",se="People thought",re="cat",nr=99)-->"(null)"
replace(in="(null)",se="People thought",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="(null)",nr=-1)-->"(null)"
replace(in="(null)",se="dog",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="(null)",nr=1)-->"(null)"
replace(in="(null)",se="dog",re="(null)",nr=2)-->"(null)"
replace(in="(null)",se="dog",re="(null)",nr=99)-->"(null)"
replace(in="(null)",se="dog",re="(null)",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="",nr=-1)-->"(null)"
replace(in="(null)",se="dog",re="",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="",nr=1)-->"(null)"
replace(in="(null)",se="dog",re="",nr=2)-->"(null)"
replace(in="(null)",se="dog",re="",nr=99)-->"(null)"
replace(in="(null)",se="dog",re="",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="Assumed incorrectly that",nr=-1)-->"(null)"
replace(in="(null)",se="dog",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="Assumed incorrectly that",nr=1)-->"(null)"
replace(in="(null)",se="dog",re="Assumed incorrectly that",nr=2)-->"(null)"
replace(in="(null)",se="dog",re="Assumed incorrectly that",nr=99)-->"(null)"
replace(in="(null)",se="dog",re="Assumed incorrectly that",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="believed",nr=-1)-->"(null)"
replace(in="(null)",se="dog",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="believed",nr=1)-->"(null)"
replace(in="(null)",se="dog",re="believed",nr=2)-->"(null)"
replace(in="(null)",se="dog",re="believed",nr=99)-->"(null)"
replace(in="(null)",se="dog",re="believed",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="cat",nr=-1)-->"(null)"
replace(in="(null)",se="dog",re="cat",nr=0)-->"(null)"
replace(in="(null)",se="dog",re="cat",nr=1)-->"(null)"
replace(in="(null)",se="dog",re="cat",nr=2)-->"(null)"
replace(in="(null)",se="dog",re="cat",nr=99)-->"(null)"
replace(in="(null)",se="dog",re="cat",nr=0)-->"(null)"
replace(in="",se="(null)",re="(null)",nr=-1)-->""
replace(in="",se="(null)",re="(null)",nr=0)-->""
replace(in="",se="(null)",re="(null)",nr=1)-->""
replace(in="",se="(null)",re="(null)",nr=2)-->""
replace(in="",se="(null)",re="(null)",nr=99)-->""
replace(in="",se="(null)",re="(null)",nr=0)-->""
replace(in="",se="(null)",re="",nr=-1)-->""
replace(in="",se="(null)",re="",nr=0)-->""
replace(in="",se="(null)",re="",nr=1)-->""
replace(in="",se="(null)",re="",nr=2)-->""
replace(in="",se="(null)",re="",nr=99)-->""
replace(in="",se="(null)",re="",nr=0)-->""
replace(in="",se="(null)",re="Assumed incorrectly that",nr=-1)-->""
replace(in="",se="(null)",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="(null)",re="Assumed incorrectly that",nr=1)-->""
replace(in="",se="(null)",re="Assumed incorrectly that",nr=2)-->""
replace(in="",se="(null)",re="Assumed incorrectly that",nr=99)-->""
replace(in="",se="(null)",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="(null)",re="believed",nr=-1)-->""
replace(in="",se="(null)",re="believed",nr=0)-->""
replace(in="",se="(null)",re="believed",nr=1)-->""
replace(in="",se="(null)",re="believed",nr=2)-->""
replace(in="",se="(null)",re="believed",nr=99)-->""
replace(in="",se="(null)",re="believed",nr=0)-->""
replace(in="",se="(null)",re="cat",nr=-1)-->""
replace(in="",se="(null)",re="cat",nr=0)-->""
replace(in="",se="(null)",re="cat",nr=1)-->""
replace(in="",se="(null)",re="cat",nr=2)-->""
replace(in="",se="(null)",re="cat",nr=99)-->""
replace(in="",se="(null)",re="cat",nr=0)-->""
replace(in="",se="",re="(null)",nr=-1)-->""
replace(in="",se="",re="(null)",nr=0)-->""
replace(in="",se="",re="(null)",nr=1)-->""
replace(in="",se="",re="(null)",nr=2)-->""
replace(in="",se="",re="(null)",nr=99)-->""
replace(in="",se="",re="(null)",nr=0)-->""
replace(in="",se="",re="",nr=-1)-->""
replace(in="",se="",re="",nr=0)-->""
replace(in="",se="",re="",nr=1)-->""
replace(in="",se="",re="",nr=2)-->""
replace(in="",se="",re="",nr=99)-->""
replace(in="",se="",re="",nr=0)-->""
replace(in="",se="",re="Assumed incorrectly that",nr=-1)-->"Assumed incorrectly that"
replace(in="",se="",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="",re="Assumed incorrectly that",nr=1)-->"Assumed incorrectly that"
replace(in="",se="",re="Assumed incorrectly that",nr=2)-->"Assumed incorrectly that"
replace(in="",se="",re="Assumed incorrectly that",nr=99)-->"Assumed incorrectly that"
replace(in="",se="",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="",re="believed",nr=-1)-->"believed"
replace(in="",se="",re="believed",nr=0)-->""
replace(in="",se="",re="believed",nr=1)-->"believed"
replace(in="",se="",re="believed",nr=2)-->"believed"
replace(in="",se="",re="believed",nr=99)-->"believed"
replace(in="",se="",re="believed",nr=0)-->""
replace(in="",se="",re="cat",nr=-1)-->"cat"
replace(in="",se="",re="cat",nr=0)-->""
replace(in="",se="",re="cat",nr=1)-->"cat"
replace(in="",se="",re="cat",nr=2)-->"cat"
replace(in="",se="",re="cat",nr=99)-->"cat"
replace(in="",se="",re="cat",nr=0)-->""
replace(in="",se="People thought",re="(null)",nr=-1)-->""
replace(in="",se="People thought",re="(null)",nr=0)-->""
replace(in="",se="People thought",re="(null)",nr=1)-->""
replace(in="",se="People thought",re="(null)",nr=2)-->""
replace(in="",se="People thought",re="(null)",nr=99)-->""
replace(in="",se="People thought",re="(null)",nr=0)-->""
replace(in="",se="People thought",re="",nr=-1)-->""
replace(in="",se="People thought",re="",nr=0)-->""
replace(in="",se="People thought",re="",nr=1)-->""
replace(in="",se="People thought",re="",nr=2)-->""
replace(in="",se="People thought",re="",nr=99)-->""
replace(in="",se="People thought",re="",nr=0)-->""
replace(in="",se="People thought",re="Assumed incorrectly that",nr=-1)-->""
replace(in="",se="People thought",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="People thought",re="Assumed incorrectly that",nr=1)-->""
replace(in="",se="People thought",re="Assumed incorrectly that",nr=2)-->""
replace(in="",se="People thought",re="Assumed incorrectly that",nr=99)-->""
replace(in="",se="People thought",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="People thought",re="believed",nr=-1)-->""
replace(in="",se="People thought",re="believed",nr=0)-->""
replace(in="",se="People thought",re="believed",nr=1)-->""
replace(in="",se="People thought",re="believed",nr=2)-->""
replace(in="",se="People thought",re="believed",nr=99)-->""
replace(in="",se="People thought",re="believed",nr=0)-->""
replace(in="",se="People thought",re="cat",nr=-1)-->""
replace(in="",se="People thought",re="cat",nr=0)-->""
replace(in="",se="People thought",re="cat",nr=1)-->""
replace(in="",se="People thought",re="cat",nr=2)-->""
replace(in="",se="People thought",re="cat",nr=99)-->""
replace(in="",se="People thought",re="cat",nr=0)-->""
replace(in="",se="dog",re="(null)",nr=-1)-->""
replace(in="",se="dog",re="(null)",nr=0)-->""
replace(in="",se="dog",re="(null)",nr=1)-->""
replace(in="",se="dog",re="(null)",nr=2)-->""
replace(in="",se="dog",re="(null)",nr=99)-->""
replace(in="",se="dog",re="(null)",nr=0)-->""
replace(in="",se="dog",re="",nr=-1)-->""
replace(in="",se="dog",re="",nr=0)-->""
replace(in="",se="dog",re="",nr=1)-->""
replace(in="",se="dog",re="",nr=2)-->""
replace(in="",se="dog",re="",nr=99)-->""
replace(in="",se="dog",re="",nr=0)-->""
replace(in="",se="dog",re="Assumed incorrectly that",nr=-1)-->""
replace(in="",se="dog",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="dog",re="Assumed incorrectly that",nr=1)-->""
replace(in="",se="dog",re="Assumed incorrectly that",nr=2)-->""
replace(in="",se="dog",re="Assumed incorrectly that",nr=99)-->""
replace(in="",se="dog",re="Assumed incorrectly that",nr=0)-->""
replace(in="",se="dog",re="believed",nr=-1)-->""
replace(in="",se="dog",re="believed",nr=0)-->""
replace(in="",se="dog",re="believed",nr=1)-->""
replace(in="",se="dog",re="believed",nr=2)-->""
replace(in="",se="dog",re="believed",nr=99)-->""
replace(in="",se="dog",re="believed",nr=0)-->""
replace(in="",se="dog",re="cat",nr=-1)-->""
replace(in="",se="dog",re="cat",nr=0)-->""
replace(in="",se="dog",re="cat",nr=1)-->""
replace(in="",se="dog",re="cat",nr=2)-->""
replace(in="",se="dog",re="cat",nr=99)-->""
replace(in="",se="dog",re="cat",nr=0)-->""
replace(in="People thought the Earth was flat.",se="(null)",re="(null)",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="(null)",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="(null)",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="(null)",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="Assumed incorrectly that",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="Assumed incorrectly that",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="Assumed incorrectly that",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="Assumed incorrectly that",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="believed",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="believed",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="believed",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="believed",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="cat",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="cat",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="cat",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="cat",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="(null)",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="(null)",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="(null)",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="(null)",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="(null)",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="Assumed incorrectly that",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="Assumed incorrectly that",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="Assumed incorrectly that",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="Assumed incorrectly that",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="believed",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="believed",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="believed",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="believed",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="cat",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="cat",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="cat",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="cat",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="(null)",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="(null)",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="(null)",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="(null)",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="",nr=-1)-->" the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="",nr=1)-->" the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="",nr=2)-->" the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="",nr=99)-->" the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="Assumed incorrectly that",nr=-1)-->"Assumed incorrectly that the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="Assumed incorrectly that",nr=1)-->"Assumed incorrectly that the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="Assumed incorrectly that",nr=2)-->"Assumed incorrectly that the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="Assumed incorrectly that",nr=99)-->"Assumed incorrectly that the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="believed",nr=-1)-->"believed the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="believed",nr=1)-->"believed the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="believed",nr=2)-->"believed the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="believed",nr=99)-->"believed the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="cat",nr=-1)-->"cat the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="cat",nr=1)-->"cat the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="cat",nr=2)-->"cat the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="cat",nr=99)-->"cat the Earth was flat."
replace(in="People thought the Earth was flat.",se="People thought",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="(null)",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="(null)",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="(null)",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="(null)",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="(null)",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="Assumed incorrectly that",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="Assumed incorrectly that",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="Assumed incorrectly that",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="Assumed incorrectly that",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="Assumed incorrectly that",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="believed",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="believed",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="believed",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="believed",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="believed",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="cat",nr=-1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="cat",nr=1)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="cat",nr=2)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="cat",nr=99)-->"People thought the Earth was flat."
replace(in="People thought the Earth was flat.",se="dog",re="cat",nr=0)-->"People thought the Earth was flat."
replace(in="Black dog, white dog",se="(null)",re="(null)",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="(null)",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="(null)",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="(null)",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="Assumed incorrectly that",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="Assumed incorrectly that",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="Assumed incorrectly that",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="Assumed incorrectly that",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="believed",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="believed",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="believed",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="believed",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="cat",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="cat",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="cat",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="cat",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="(null)",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="(null)",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="(null)",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="(null)",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="(null)",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="Assumed incorrectly that",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="Assumed incorrectly that",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="Assumed incorrectly that",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="Assumed incorrectly that",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="believed",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="believed",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="believed",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="believed",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="cat",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="cat",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="cat",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="cat",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="(null)",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="(null)",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="(null)",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="(null)",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="Assumed incorrectly that",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="Assumed incorrectly that",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="Assumed incorrectly that",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="Assumed incorrectly that",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="believed",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="believed",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="believed",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="believed",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="cat",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="cat",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="cat",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="cat",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="People thought",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="(null)",nr=-1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="(null)",nr=1)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="(null)",nr=2)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="(null)",nr=99)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="(null)",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="",nr=-1)-->"Black , white "
replace(in="Black dog, white dog",se="dog",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="",nr=1)-->"Black , white dog"
replace(in="Black dog, white dog",se="dog",re="",nr=2)-->"Black , white "
replace(in="Black dog, white dog",se="dog",re="",nr=99)-->"Black , white "
replace(in="Black dog, white dog",se="dog",re="",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="Assumed incorrectly that",nr=-1)-->"Black Assumed incorrectly that, white Assumed incorrectly that"
replace(in="Black dog, white dog",se="dog",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="Assumed incorrectly that",nr=1)-->"Black Assumed incorrectly that, white dog"
replace(in="Black dog, white dog",se="dog",re="Assumed incorrectly that",nr=2)-->"Black Assumed incorrectly that, white Assumed incorrectly that"
replace(in="Black dog, white dog",se="dog",re="Assumed incorrectly that",nr=99)-->"Black Assumed incorrectly that, white Assumed incorrectly that"
replace(in="Black dog, white dog",se="dog",re="Assumed incorrectly that",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="believed",nr=-1)-->"Black believed, white believed"
replace(in="Black dog, white dog",se="dog",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="believed",nr=1)-->"Black believed, white dog"
replace(in="Black dog, white dog",se="dog",re="believed",nr=2)-->"Black believed, white believed"
replace(in="Black dog, white dog",se="dog",re="believed",nr=99)-->"Black believed, white believed"
replace(in="Black dog, white dog",se="dog",re="believed",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="cat",nr=-1)-->"Black cat, white cat"
replace(in="Black dog, white dog",se="dog",re="cat",nr=0)-->"Black dog, white dog"
replace(in="Black dog, white dog",se="dog",re="cat",nr=1)-->"Black cat, white dog"
replace(in="Black dog, white dog",se="dog",re="cat",nr=2)-->"Black cat, white cat"
replace(in="Black dog, white dog",se="dog",re="cat",nr=99)-->"Black cat, white cat"
replace(in="Black dog, white dog",se="dog",re="cat",nr=0)-->"Black dog, white dog"

Hope if you can, at your available time, to check it out and see if it is worth.

Best regards,

Leo

Changed 4 years ago by leonardohamada

Updated patch

comment:9 Changed 4 years ago by usul

  • Keywords xml osd display strings added
  • Milestone set to version 0.5.1

So the patch needs still an review and the issue an solution.

As this is unexpected behaviour of an existing feature, I will schedule it to the next hotfix.

comment:10 Changed 3 years ago by usul

  • Severity set to trivial
Note: See TracTickets for help on using tickets.