File: skipuntil.c

package info (click to toggle)
icmake 7.18.00-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 2,840 kB
  • sloc: ansic: 7,784; makefile: 3,811; sh: 319; cpp: 83
file content (24 lines) | stat: -rw-r--r-- 637 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
    Skip all characters until the matching initial char is found.
    Escaped initial characters are kept as well
*/

#include "icm-pp.h"

char *skip_until(char *cp)
{
    int end = *cp;

    while (*++cp != end)
    {
        if (*cp == '\\')    /* skip escaped char */
            ++cp;

        if (!*cp)           /* no more chars is an error */
            error("%s: %d: unterminated %s-constant in #define",
                filestack[filesp].n, 
                filestack[filesp].l,
                end == '"' ? "string" : "character");   
    }
    return ++cp;            /* return the char beyond the string/char const */
}