View Javadoc

1   package com.tapina.robe.swi.clib.stdio;
2   
3   import com.tapina.robe.runtime.Environment;
4   import com.tapina.robe.runtime.MemoryMap;
5   import com.tapina.robe.swi.clib.CLibrary;
6   import com.tapina.robe.swi.clib.Stub;
7   
8   import java.io.IOException;
9   
10  /***
11   * This function writes the string pointed to by a1 to the stream specified in a2.
12   * The null terminator is not written.
13   * Returns: EOF if there is an error.
14   */
15  public class FPutS extends Stub {
16      public void executeStub(Environment environment) {
17          final int[] R = environment.getCpu().R;
18          final MemoryMap memoryMap = environment.getMemoryMap();
19          FilePointer filePointer = FilePointer.find(memoryMap.getWord(R[1]));
20          try {
21              filePointer.puts(memoryMap.getString0(R[0]));
22          } catch (IOException e) {
23              log.warning("IOException in fputs(): " + e.getMessage());
24              R[0] = CLibrary.EOF;
25          }
26      }
27  }