1

Linux 5 でアプリケーションをコンパイルすると、次のエラーが発生します。

api_svc1.c:335: エラー: case ラベルが switch ステートメント内にありません api_svc1.c:340: エラー: 「default」 ラベルが switch ステートメント内にありません

c プログラム 'api_svc1.c' は、rpcgen によって生成されます。geberated コードに switch ステートメントが見つかりません。

コードフラグメントを以下に示します。

result = (*local)((char *)&argument, rqstp);
if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) {
        svcerr_systemerr (transp);
       _exit (-1);
     }
     _exit (0);
   case -1:
    /*
     * Error - fork couldn't create the child process, return
     */
     svcerr_systemerr(transp);
   default:
     /*
      * Parent process, clean up any zombie children and
      * return to svc_run()
      */
      svc_destroy(transp);
      while (waitpid(-1,NULL,WNOHANG) > 0);
      _rpcsvccount--;
      _rpcsvcstate = _SERVED;
      return;

同じコードが生成され、Solaris でエラーなしで正常にコンパイルされました。これを解決する方法はありますか?

4

0 に答える 0