Ignore:
Timestamp:
Mar 30, 2017, 1:22:39 PM (2 years ago)
Author:
nmedfort
Message:

Bug fixes for last check in

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/icgrep.cpp

    r5377 r5379  
    3131#include <util/papi_helper.hpp>
    3232#endif
    33 #include <poll.h>
    34 
    35 inline bool hasInputFromStdIn() {
    36     pollfd stdin_poll;
    37     stdin_poll.fd = STDIN_FILENO;
    38     stdin_poll.events = POLLIN | POLLRDBAND | POLLRDNORM | POLLPRI;
    39     return poll(&stdin_poll, 1, 0) == 1;
    40 }
    4133
    4234using namespace llvm;
     
    344336        EnterDirectoriesRecursively = true;
    345337    }
    346     for (auto & f : inputFiles) {
     338    for (const std::string & f : inputFiles) {
     339//        if (f == "-") {
     340//            continue;
     341//        }
    347342        path p(f);
    348         if (EnterDirectoriesRecursively && is_directory(p)) {
     343        if (LLVM_UNLIKELY(EnterDirectoriesRecursively && is_directory(p))) {
    349344            if (!excludeDirectory(p)) {
    350345                recursive_directory_iterator di(p, follow_symlink, errc), end;
     
    357352                    auto & e = di->path();
    358353                    if (is_directory(e)) {
    359                         if (excludeDirectory(e)) di.no_push();
     354                        if (LLVM_UNLIKELY(excludeDirectory(e))) {
     355                            di.no_push();
     356                        }
     357                    } else {
     358                        expanded_paths.push_back(e.string());
    360359                    }
    361                     else expanded_paths.push_back(e.string());
    362360                    di.increment(errc);
    363361                    if (errc) {
     
    366364                }
    367365            }
    368         }
    369         else expanded_paths.push_back(p.string());
     366        } else {
     367            expanded_paths.push_back(p.string());
     368        }
    370369    }
    371370    return expanded_paths;
     
    393392    }
    394393
    395     const bool usingStdIn = hasInputFromStdIn();
     394
     395    allFiles = getFullFileList(inputFiles);
    396396
    397397    GrepEngine grepEngine;
    398     if (MultiGrepKernels) {
    399         grepEngine.multiGrepCodeGen(module_name, RELists, CountOnly, UTF_16);
    400     } else {
    401         grepEngine.grepCodeGen(module_name, re_ast, CountOnly, UTF_16, GrepType::Normal, usingStdIn);
    402     }
    403 
    404     if (usingStdIn)  {
    405 
    406         allFiles = { "stdin" };
     398
     399    if (allFiles.empty()) {
     400
     401        grepEngine.grepCodeGen(module_name, re_ast, CountOnly, UTF_16, GrepType::Normal, true);
     402        allFiles = { "-" };
    407403        initFileResult(allFiles);
    408404        total_CountOnly.push_back(0);
     
    411407    } else {
    412408
    413         allFiles = getFullFileList(inputFiles);
     409        if (MultiGrepKernels) {
     410            grepEngine.multiGrepCodeGen(module_name, RELists, CountOnly, UTF_16);
     411        } else {
     412            grepEngine.grepCodeGen(module_name, re_ast, CountOnly, UTF_16, GrepType::Normal, false);
     413        }
    414414
    415415        if (FileNamesOnly && NonMatchingFileNamesOnly) {
     
    478478
    479479    }
    480    
    481480
    482481   
Note: See TracChangeset for help on using the changeset viewer.