file_memory is initialised using standard linux init descriptors.. nothing weird here..

Qt Code:
  1. void initSharingMem()
  2. {
  3. /* Open the file. */
  4. fd = open (file, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
  5. if (fd==-1) printf("error in opening file");
  6. lseek (fd, FILE_LENGTH+1, SEEK_SET);
  7. write (fd, "", 1);
  8. lseek (fd, 0, SEEK_SET);
  9. /* Create the memory-mapping. */
  10. file_memory = mmap (0, FILE_LENGTH, PROT_READ | PROT_WRITE,MAP_SHARED, fd, 0);
  11. }
To copy to clipboard, switch view to plain text mode 

file_memory should be right since the saving of the integers is done properly, not to mention that the rest of the variables you see in the sh.mem header file, as saved and retried in a similar manner in other procedures. so i doubt file_memory pointer outputs a wrong value.
it is something in the range 0x8000xxxx .. im not quite sure i can check tomorrow from my work.

well infoVar->oAndS_str is a pointer it should point to the beginning of the characters that make up the string... or rather, the stream of char is moved from the 'head' to the location where infoVar->oAndS_str looks.

no other programs use the shared memory yet, the other code is being developed currently.