カンマ区切りファイルを読み込む

C言語でカンマ区切りの値を読み込もうと思ったのだけれど、
strtok()だと、"A,,C"の場合、"A"の次は"C"になってしまいます。
欲しいのは"A"の次に""が取れて、その次に"C"が取りたいのです。
仕方ないので、サラッと作ってみました。
使い方は、strtok()と同じです。

char* StringTokenizer(char* str, const char* token)
{
      static char* last = NULL;
      char* start = (str != NULL) ? str : last;
      char* p = start;
      while (*p != '\0') {
            if (strchr(token, *p) != NULL) {
                  *p = '\0';
                  break;
            }
            p++;
      }
      last = p+1;
      return start;
}