Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 61850
b: refs/heads/master
c: 7c5d249
h: refs/heads/master
v: v3
  • Loading branch information
Paulo Marques authored and Sam Ravnborg committed Jul 17, 2007
1 parent f654c1f commit a5f49ee
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: af332aa3876eaf39b159d345c86b744832ec4336
refs/heads/master: 7c5d249ad3fb6ce3815c1ed5f04bece02a3e7030
17 changes: 13 additions & 4 deletions trunk/scripts/kallsyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
*
*/

#define _GNU_SOURCE

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Expand Down Expand Up @@ -378,6 +376,17 @@ static void build_initial_tok_table(void)
table_cnt = pos;
}

static void *find_token(unsigned char *str, int len, unsigned char *token)
{
int i;

for (i = 0; i < len - 1; i++) {
if (str[i] == token[0] && str[i+1] == token[1])
return &str[i];
}
return NULL;
}

/* replace a given token in all the valid symbols. Use the sampled symbols
* to update the counts */
static void compress_symbols(unsigned char *str, int idx)
Expand All @@ -391,7 +400,7 @@ static void compress_symbols(unsigned char *str, int idx)
p1 = table[i].sym;

/* find the token on the symbol */
p2 = memmem(p1, len, str, 2);
p2 = find_token(p1, len, str);
if (!p2) continue;

/* decrease the counts for this symbol's tokens */
Expand All @@ -410,7 +419,7 @@ static void compress_symbols(unsigned char *str, int idx)
if (size < 2) break;

/* find the token on the symbol */
p2 = memmem(p1, size, str, 2);
p2 = find_token(p1, size, str);

} while (p2);

Expand Down

0 comments on commit a5f49ee

Please sign in to comment.