~ilya-yanok/ubuntu/precise/grub2/fix-for-948716

« back to all changes in this revision

Viewing changes to kern/misc.c

  • Committer: Bazaar Package Importer
  • Author(s): Robert Millan
  • Date: 2009-07-25 19:00:53 UTC
  • mfrom: (1.6.3 upstream)
  • mto: (17.4.13 sid)
  • mto: This revision was merged to the branch mainline in revision 53.
  • Revision ID: james.westby@ubuntu.com-20090725190053-uv3lm6ya3zxs77ep
ImportĀ upstreamĀ versionĀ 1.96+20090725

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#include <grub/term.h>
25
25
#include <grub/env.h>
26
26
 
27
 
static int
28
 
grub_iswordseparator (int c)
29
 
{
30
 
  return (grub_isspace (c) || c == ',' || c == ';' || c == '|' || c == '&');
31
 
}
32
 
 
33
27
void *
34
28
grub_memmove (void *dest, const void *src, grub_size_t n)
35
29
{
103
97
  return d - 1;
104
98
}
105
99
 
 
100
char *
 
101
grub_strcat (char *dest, const char *src)
 
102
{
 
103
  char *p = dest;
 
104
 
 
105
  while (*p)
 
106
    p++;
 
107
 
 
108
  while ((*p = *src) != '\0')
 
109
    {
 
110
      p++;
 
111
      src++;
 
112
    }
 
113
 
 
114
  return dest;
 
115
}
 
116
 
 
117
char *
 
118
grub_strncat (char *dest, const char *src, int c)
 
119
{
 
120
  char *p = dest;
 
121
 
 
122
  while (*p)
 
123
    p++;
 
124
 
 
125
  while ((*p = *src) != '\0' && c--)
 
126
    {
 
127
      p++;
 
128
      src++;
 
129
    }
 
130
 
 
131
  *p = '\0';
 
132
 
 
133
  return dest;
 
134
}
 
135
 
106
136
int
107
137
grub_printf (const char *fmt, ...)
108
138
{
220
250
  return (int) *s1 - (int) *s2;
221
251
}
222
252
 
 
253
int
 
254
grub_strcasecmp (const char *s1, const char *s2)
 
255
{
 
256
  while (*s1 && *s2)
 
257
    {
 
258
      if (grub_tolower (*s1) != grub_tolower (*s2))
 
259
        break;
 
260
 
 
261
      s1++;
 
262
      s2++;
 
263
    }
 
264
 
 
265
  return (int) grub_tolower (*s1) - (int) grub_tolower (*s2);
 
266
}
 
267
 
 
268
int
 
269
grub_strncasecmp (const char *s1, const char *s2, grub_size_t n)
 
270
{
 
271
  if (n == 0)
 
272
    return 0;
 
273
 
 
274
  while (*s1 && *s2 && --n)
 
275
    {
 
276
      if (grub_tolower (*s1) != grub_tolower (*s2))
 
277
        break;
 
278
 
 
279
      s1++;
 
280
      s2++;
 
281
    }
 
282
 
 
283
  return (int) grub_tolower (*s1) - (int) grub_tolower (*s2);
 
284
}
 
285
 
223
286
char *
224
287
grub_strchr (const char *s, int c)
225
288
{
332
395
}
333
396
 
334
397
int
 
398
grub_iswordseparator (int c)
 
399
{
 
400
  return (grub_isspace (c) || c == ',' || c == ';' || c == '|' || c == '&');
 
401
}
 
402
 
 
403
int
335
404
grub_isspace (int c)
336
405
{
337
406
  return (c == '\n' || c == '\r' || c == ' ' || c == '\t');
343
412
  return (c >= ' ' && c <= '~');
344
413
}
345
414
 
 
415
int
 
416
grub_isalpha (int c)
 
417
{
 
418
  return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
 
419
}
 
420
 
 
421
int
 
422
grub_isdigit (int c)
 
423
{
 
424
  return (c >= '0' && c <= '9');
 
425
}
 
426
 
 
427
int
 
428
grub_isgraph (int c)
 
429
{
 
430
  return (c >= '!' && c <= '~');
 
431
}
 
432
 
 
433
int
 
434
grub_tolower (int c)
 
435
{
 
436
  if (c >= 'A' && c <= 'Z')
 
437
    return c - 'A' + 'a';
 
438
 
 
439
  return c;
 
440
}
 
441
 
346
442
 
347
443
unsigned long
348
444
grub_strtoul (const char *str, char **end, int base)