コード例 #1
0
BitcodeWrapper::BitcodeWrapper(const char *bitcode, size_t bitcodeSize)
    : mFileType(BC_NOT_BC), mBitcode(bitcode),
      mBitcodeSize(bitcodeSize),
      mHeaderVersion(0), mTargetAPI(0), mCompilerVersion(0),
      mOptimizationLevel(3) {
  InMemoryWrapperInput inMem(mBitcode, mBitcodeSize);
  BitcodeWrapperer wrapperer(&inMem, nullptr);
  if (wrapperer.IsInputBitcodeWrapper()) {
    mFileType = BC_WRAPPER;
    mHeaderVersion = wrapperer.getAndroidHeaderVersion();
    mTargetAPI = wrapperer.getAndroidTargetAPI();
    mCompilerVersion = wrapperer.getAndroidCompilerVersion();
    mOptimizationLevel = wrapperer.getAndroidOptimizationLevel();
  } else if (wrapperer.IsInputBitcodeFile()) {
    mFileType = BC_RAW;
  }
}
コード例 #2
0
ファイル: test_horst.c プロジェクト: petesh/pocketcity
int
main(int argc, char **argv)
{
	size_t haylen;
	size_t needlen;
	char *fnd;

	if (argc < 3) {
		printf("usage: %s <haystack> <needle>\n", argv[0]);
		return (1);
	}
	haylen = strlen(argv[1]);
	needlen = strlen(argv[2]);

	if (haylen < needlen) {
		printf("Needle is bigger than haystack!\n");
		return (3);
	}
	fnd = inMem(argv[1], haylen, argv[2], needlen);
	if (fnd != NULL) {
		printf("found: %ld\n", (long)(fnd - argv[1]));
	}
	return (0);
}