View Javadoc

1   package com.tapina.robe.swi.clib.string;
2   
3   import com.tapina.robe.runtime.Environment;
4   import com.tapina.robe.runtime.MemoryMap;
5   import com.tapina.robe.swi.clib.Stub;
6   
7   /***
8    * This function appends a2 to the end of a1, overwriting the null byte at the end of a1.
9    * The two strings should not overlap.
10   * Returns: a1
11   */
12  public class StrCat extends Stub {
13      public void executeStub(Environment environment) {
14          final int[] R = environment.getCpu().R;
15          final MemoryMap memoryMap = environment.getMemoryMap();
16          final String string1 = memoryMap.getString0(R[0]);
17          final String string2 = memoryMap.getString0(R[1]);
18          memoryMap.storeString0(R[0], string1.concat(string2));
19      }
20  }