title: Help! strcmp is lying to me when fed strtok results
body: <p>strcmp, when fed the results of strtok, in the following code seems to be blatantly lying to me. </p>
  
  <pre><code>int fSize;
  char * buffer=NULL;
  char * jobToken = "job";
  char * nextToken=NULL;
  job * curJob=NULL;
  struct node * head=NULL;
  struct node * parseList(FILE* file){
      fseek(file,0,SEEK_END);
      fSize=ftell(file);
      buffer = (char*)malloc(fSize+1);
      printf("%d chars: reading buffer now:\n",fSize);
      fseek(file,0,SEEK_SET);
      fread (buffer,1,fSize,file);
      nextToken = strtok(buffer, " \n");
      while (nextToken!=NULL){
              printf("**Running  Token: %s**\n",nextToken);
              if (strcmp(nextToken,jobToken)){
                      printf("Accepted %s  as %s\n",nextToken,jobToken);                
              }else{
                      printf("not %s, %s\n",jobToken,nextToken);
              }
  
              printf("End of state - %s\n",nextToken);
  
              nextToken = strtok(NULL, " \n");
      }
      free (buffer);
      return NULL;
  }
  </code></pre>
  
  <p>With this input in a file in the parseList parameters:</p>
  
  <pre><code>job 23
  job 10
  </code></pre>
  
  <p>Gives this output: </p>
  
  <pre><code>14 chars: reading buffer now:
  **Running  Token: job**
  not job, job
  End of state - job
  **Running  Token: 23**
  Accepted 23  as job
  End of state - 23
  **Running  Token: job**
  not job, job
  End of state - job
  **Running  Token: 10**
  Accepted 10  as job
  End of state - 10
  </code></pre>
  
  <p>LIES!</p>