Typfixes in replace_personal()
Change-Id: I96df73c6d38012f69d83ceefa1b786703399bda0
diff --git a/secure/simul_efun/simul_efun.c b/secure/simul_efun/simul_efun.c
index 8339937..54eea32 100644
--- a/secure/simul_efun/simul_efun.c
+++ b/secure/simul_efun/simul_efun.c
@@ -1786,32 +1786,27 @@
// ### Ersatzaufloesung in Strings ###
-varargs string replace_personal(string str, mixed *obs, int caps) {
- int i;
- string *parts;
-
- parts = regexplode(str, "@WE[A-SU]*[0-9]");
- i = sizeof(parts);
+varargs string replace_personal(string str, <string|object>* obs, int caps) {
+ string* parts = regexplode(str, "@WE[A-SU]*[0-9]");
+ int i = sizeof(parts);
if (i>1)
{
int j, t;
- closure *name_cls;
-
t = j = sizeof(obs);
- name_cls = allocate(j);
- while (j--)
+ <string|closure>* name_cls = allocate(j);
+ while (j--) {
if (objectp(obs[j]))
name_cls[j] = symbol_function("name", obs[j]);
else if (stringp(obs[j]))
name_cls[j] = obs[j];
+ }
while ((i-= 2)>0)
{
- int ob_nr;
// zu ersetzendes Token in Fall und Objektindex aufspalten
- ob_nr = parts[i][<1]-'1';
+ int ob_nr = parts[i][<1]-'1';
if (ob_nr<0 || ob_nr>=t) {
set_this_object(previous_object());
raise_error(sprintf("replace_personal: using wrong object index %d\n",
diff --git a/secure/simul_efun/spare/simul_efun.c b/secure/simul_efun/spare/simul_efun.c
index 8339937..54eea32 100644
--- a/secure/simul_efun/spare/simul_efun.c
+++ b/secure/simul_efun/spare/simul_efun.c
@@ -1786,32 +1786,27 @@
// ### Ersatzaufloesung in Strings ###
-varargs string replace_personal(string str, mixed *obs, int caps) {
- int i;
- string *parts;
-
- parts = regexplode(str, "@WE[A-SU]*[0-9]");
- i = sizeof(parts);
+varargs string replace_personal(string str, <string|object>* obs, int caps) {
+ string* parts = regexplode(str, "@WE[A-SU]*[0-9]");
+ int i = sizeof(parts);
if (i>1)
{
int j, t;
- closure *name_cls;
-
t = j = sizeof(obs);
- name_cls = allocate(j);
- while (j--)
+ <string|closure>* name_cls = allocate(j);
+ while (j--) {
if (objectp(obs[j]))
name_cls[j] = symbol_function("name", obs[j]);
else if (stringp(obs[j]))
name_cls[j] = obs[j];
+ }
while ((i-= 2)>0)
{
- int ob_nr;
// zu ersetzendes Token in Fall und Objektindex aufspalten
- ob_nr = parts[i][<1]-'1';
+ int ob_nr = parts[i][<1]-'1';
if (ob_nr<0 || ob_nr>=t) {
set_this_object(previous_object());
raise_error(sprintf("replace_personal: using wrong object index %d\n",