diff options
Diffstat (limited to 'abs/core-testing/udev/resolve-modalias.c')
-rw-r--r-- | abs/core-testing/udev/resolve-modalias.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/abs/core-testing/udev/resolve-modalias.c b/abs/core-testing/udev/resolve-modalias.c deleted file mode 100644 index d1680b1..0000000 --- a/abs/core-testing/udev/resolve-modalias.c +++ /dev/null @@ -1,62 +0,0 @@ -#include <stdio.h> -#include <fnmatch.h> -#include <string.h> -#include <malloc.h> - -static char *getline(FILE *file) { - static size_t size = 1024; - static char *buf = NULL; - static unsigned int i = 0, r = 0;; - - if(buf == NULL) - buf = (char*)malloc(size); - - if(i) { - memmove(buf, buf+i, size-i); - r -= i; - i = 0; - } - - while(1) { - if(i == size) { - size *= 2; - buf = (char*)realloc(buf, size); - } - - if(i==r) - r += fread(buf+i, 1, size-i, file); - - if(i==r && i == 0) { - free(buf); - buf = NULL; - r = 0; - return NULL; - } - - if(i==r || buf[i] == '\n') { - buf[i++] = '\0'; - return buf; - } - i++; - } -} - -int main(int argc, char *argv[]) { - FILE *f=fopen(argv[1], "r"); - char *line, *pattern, *module; - char *pos1, *pos2; - - while((line=getline(f))!=NULL) { - if(!strncmp(line, "alias", strlen("alias"))) { - pos1 = index(line, ' '); - pos2 = index(pos1+1, ' '); - pattern = pos1+1; - *pos2 = '\0'; - module = pos2+1; - - if(!fnmatch(pattern, argv[2], 0)) - printf("%s\n", module); - } - } - return 0; -} |