text: #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <ctype.h>
  #include <openssl/e_os2.h>
  #include <openssl/buffer.h>
  #include <openssl/crypto.h>
  
  int main(int argc, char *argv[])
  {
      char *p, *q = 0, *program;
  
      p = strrchr(argv[0], '/');
      if (!p)
          p = strrchr(argv[0], '\\');
  #ifdef OPENSSL_SYS_VMS
      if (!p)
          p = strrchr(argv[0], ']');
      if (p)
          q = strrchr(p, '>');
      if (q)
          p = q;
      if (!p)
          p = strrchr(argv[0], ':');
      q = 0;
  #endif
      if (p)
          p++;
      if (!p)
          p = argv[0];
      if (p)
          q = strchr(p, '.');
      if (p && !q)
          q = p + strlen(p);
  
      if (!p)
          program = BUF_strdup("(unknown)");
      else {
          program = OPENSSL_malloc((q - p) + 1);
          strncpy(program, p, q - p);
          program[q - p] = '\0';
      }
  
      for (p = program; *p; p++)
          if (islower((unsigned char)(*p)))
              *p = toupper((unsigned char)(*p));
  
      q = strstr(program, "TEST");
      if (q > p && q[-1] == '_')
          q--;
      *q = '\0';
  
      printf("No %s support\n", program);
  
      OPENSSL_free(program);
      return (0);
  }
  