~hamo/ubuntu/precise/grub2/grub2.hi_res

« back to all changes in this revision

Viewing changes to kern/misc.c

ImportĀ upstreamĀ versionĀ 1.97~beta3

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
 
27
33
void *
28
34
grub_memmove (void *dest, const void *src, grub_size_t n)
29
35
{
97
103
  return d - 1;
98
104
}
99
105
 
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
 
 
136
106
int
137
107
grub_printf (const char *fmt, ...)
138
108
{
250
220
  return (int) *s1 - (int) *s2;
251
221
}
252
222
 
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
 
 
286
223
char *
287
224
grub_strchr (const char *s, int c)
288
225
{
395
332
}
396
333
 
397
334
int
398
 
grub_iswordseparator (int c)
399
 
{
400
 
  return (grub_isspace (c) || c == ',' || c == ';' || c == '|' || c == '&');
401
 
}
402
 
 
403
 
int
404
335
grub_isspace (int c)
405
336
{
406
337
  return (c == '\n' || c == '\r' || c == ' ' || c == '\t');
412
343
  return (c >= ' ' && c <= '~');
413
344
}
414
345
 
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
 
 
442
346
 
443
347
unsigned long
444
348
grub_strtoul (const char *str, char **end, int base)