diff options
| author | Jens Axboe <jaxboe@fusionio.com> | 2010-11-16 04:09:42 -0500 |
|---|---|---|
| committer | Jens Axboe <jaxboe@fusionio.com> | 2010-11-16 04:09:42 -0500 |
| commit | a02056349cdea2252cd2b21643ebf025e83a29f2 (patch) | |
| tree | b7c889d6cbe8e7188d07d99a5c9da858c53a5b6c /scripts/basic | |
| parent | 34db1d595ef6f183fbc1e42cda45a3dfa0035258 (diff) | |
| parent | e53beacd23d9cb47590da6a7a7f6d417b941a994 (diff) | |
Merge branch 'v2.6.37-rc2' into for-2.6.38/core
Diffstat (limited to 'scripts/basic')
| -rw-r--r-- | scripts/basic/Makefile | 2 | ||||
| -rw-r--r-- | scripts/basic/docproc.c | 5 | ||||
| -rw-r--r-- | scripts/basic/hash.c | 64 |
3 files changed, 5 insertions, 66 deletions
diff --git a/scripts/basic/Makefile b/scripts/basic/Makefile index 09559951df12..4c324a1f1e0e 100644 --- a/scripts/basic/Makefile +++ b/scripts/basic/Makefile | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | # fixdep: Used to generate dependency information during build process | 9 | # fixdep: Used to generate dependency information during build process |
| 10 | # docproc: Used in Documentation/DocBook | 10 | # docproc: Used in Documentation/DocBook |
| 11 | 11 | ||
| 12 | hostprogs-y := fixdep docproc hash | 12 | hostprogs-y := fixdep docproc |
| 13 | always := $(hostprogs-y) | 13 | always := $(hostprogs-y) |
| 14 | 14 | ||
| 15 | # fixdep is needed to compile other host programs | 15 | # fixdep is needed to compile other host programs |
diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c index fc3b18d844af..98dec87974d0 100644 --- a/scripts/basic/docproc.c +++ b/scripts/basic/docproc.c | |||
| @@ -333,7 +333,10 @@ static void docsect(char *filename, char *line) | |||
| 333 | if (*s == '\n') | 333 | if (*s == '\n') |
| 334 | *s = '\0'; | 334 | *s = '\0'; |
| 335 | 335 | ||
| 336 | asprintf(&s, "DOC: %s", line); | 336 | if (asprintf(&s, "DOC: %s", line) < 0) { |
| 337 | perror("asprintf"); | ||
| 338 | exit(1); | ||
| 339 | } | ||
| 337 | consume_symbol(s); | 340 | consume_symbol(s); |
| 338 | free(s); | 341 | free(s); |
| 339 | 342 | ||
diff --git a/scripts/basic/hash.c b/scripts/basic/hash.c deleted file mode 100644 index 2ef5d3f666b8..000000000000 --- a/scripts/basic/hash.c +++ /dev/null | |||
| @@ -1,64 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2008 Red Hat, Inc., Jason Baron <jbaron@redhat.com> | ||
| 3 | * | ||
| 4 | */ | ||
| 5 | |||
| 6 | #include <stdio.h> | ||
| 7 | #include <stdlib.h> | ||
| 8 | #include <string.h> | ||
| 9 | |||
| 10 | #define DYNAMIC_DEBUG_HASH_BITS 6 | ||
| 11 | |||
| 12 | static const char *program; | ||
| 13 | |||
| 14 | static void usage(void) | ||
| 15 | { | ||
| 16 | printf("Usage: %s <djb2|r5> <modname>\n", program); | ||
| 17 | exit(1); | ||
| 18 | } | ||
| 19 | |||
| 20 | /* djb2 hashing algorithm by Dan Bernstein. From: | ||
| 21 | * http://www.cse.yorku.ca/~oz/hash.html | ||
| 22 | */ | ||
| 23 | |||
| 24 | static unsigned int djb2_hash(char *str) | ||
| 25 | { | ||
| 26 | unsigned long hash = 5381; | ||
| 27 | int c; | ||
| 28 | |||
| 29 | c = *str; | ||
| 30 | while (c) { | ||
| 31 | hash = ((hash << 5) + hash) + c; | ||
| 32 | c = *++str; | ||
| 33 | } | ||
| 34 | return (unsigned int)(hash & ((1 << DYNAMIC_DEBUG_HASH_BITS) - 1)); | ||
| 35 | } | ||
| 36 | |||
| 37 | static unsigned int r5_hash(char *str) | ||
| 38 | { | ||
| 39 | unsigned long hash = 0; | ||
| 40 | int c; | ||
| 41 | |||
| 42 | c = *str; | ||
| 43 | while (c) { | ||
| 44 | hash = (hash + (c << 4) + (c >> 4)) * 11; | ||
| 45 | c = *++str; | ||
| 46 | } | ||
| 47 | return (unsigned int)(hash & ((1 << DYNAMIC_DEBUG_HASH_BITS) - 1)); | ||
| 48 | } | ||
| 49 | |||
| 50 | int main(int argc, char *argv[]) | ||
| 51 | { | ||
| 52 | program = argv[0]; | ||
| 53 | |||
| 54 | if (argc != 3) | ||
| 55 | usage(); | ||
| 56 | if (!strcmp(argv[1], "djb2")) | ||
| 57 | printf("%d\n", djb2_hash(argv[2])); | ||
| 58 | else if (!strcmp(argv[1], "r5")) | ||
| 59 | printf("%d\n", r5_hash(argv[2])); | ||
| 60 | else | ||
| 61 | usage(); | ||
| 62 | exit(0); | ||
| 63 | } | ||
| 64 | |||
