C言語で構造体を返り値として返す関数を作っているのですが、
その関数内で何か処理を失敗したときは、NULLを返したいと思っています。
しかし、return NULL;とすると、関数の定義と違う型の返り値だと怒られてしまいます。
どうすればいいのでしょうか?イメージとしては下のような感じのものを作っています。

typedef struct mypoint{
int x, y;
} POINT;

POINT getPoint(int i, int j)
{
  POINT p;

  if(i<0 || j<0) return NULL;
  else
  {
    p.x = i;
    p.j = j;
  }
  return p;
}

if( pt = getPoint(i, j) ){
  printf("ポイントは〜〜\n");
}else{
  printf("不正値\n");
}

ほんとはポイントとかじゃないですけど、やりたい事はこんな感じです。