Riverside Learning LABO(Skill/Idea/Code)

よりよいシステムのため工学系と人間系の学習下書きメモ

SERVERとCLIENTソース共有

#ifdef SERVERで環境依存のソースを切り分けることで
SERVERとCLIENTソース共有を行う


Sample

                                                                                                                                              • -

#ifdef SERVER
  lrtn = sfgGetEnv(G_NORMAL_MODE, G_TOPDIR, sTop, &lerr);
  if (lrtn != 0 || sTop[0]=='\0') { /* 環境変数の取得に失敗した場合 */
    sEnv = getenv("TOPDIR");
    if(sEnv == NULL) {
      strcpy(gssPrsRMINFO, "sfmGetEnv()及びgetenv()によるTOPDIRの取得失敗");
      goto ERROR_SET;
    }
    strcpy(sTop, sEnv);
  }
#else
  /* カレントディレクトリを使用する */
  memset(sTop,0x00,sizeof(sTop));
  sEnv = getcwd(sTop,sizeof(sTop));
  if ( ( sEnv == NULL )||( strlen(sTop) == 0 ) ) {
    strcpy(gssPrsRMINFO, "getcwd()によるカレントディレクトリの取得失敗");
    goto ERROR_SET;
  }
#endif