diff options
Diffstat (limited to 'llvm/utils/Spiff/strings.c')
-rw-r--r-- | llvm/utils/Spiff/strings.c | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/llvm/utils/Spiff/strings.c b/llvm/utils/Spiff/strings.c deleted file mode 100644 index ebd1427bc4d..00000000000 --- a/llvm/utils/Spiff/strings.c +++ /dev/null @@ -1,163 +0,0 @@ -/* Copyright (c) 1988 Bellcore -** All Rights Reserved -** Permission is granted to copy or use this program, EXCEPT that it -** may not be sold for profit, the copyright notice must be reproduced -** on copies, and credit should be given to Bellcore where it is due. -** BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. -*/ - - -#ifndef lint -static char rcsid[]= "$Header$"; -#endif - -#include <ctype.h> -#include "misc.h" -#include "strings.h" - -/* -** routines for handling strings. -** several routines manipulate "words" -** a "word" is a string not containing whitespace -*/ - -/* -** copy a single word. similar to strcpy -*/ -void -S_wordcpy(to,from) -char *to, *from; -{ - while ((*from != '\0') && isprint(*from) && (!isspace(*from))) - { - *to++ = *from++; - } - *to = '\0'; - return; -} - -/* -** find the next whitespace character. The address of the pointer -** is passed and the pointer itself is changed. -*/ -void -S_skipword(theptr) -char **theptr; -{ - while((**theptr != '\0') && isprint(**theptr) && (!isspace(**theptr))) - { - (*theptr)++; /* increment the pointer, NOT the pointer - to the pointer */ - } - return; -} - -/* -** find the next non-whitespace character. The address of the pointer -** is passed and the pointer itself is changed. -*/ -void -S_skipspace(theptr) -char **theptr; -{ - while((**theptr != '\0') && isspace(**theptr)) - { - (*theptr)++; /* increment the pointer, NOT the pointer - to the pointer */ - } - return; -} - -/* -** move the pointer to the beginning of the next word -*/ -void -S_nextword(theptr) -char **theptr; -{ - S_skipword(theptr); - S_skipspace(theptr); - return; -} - -/* -** see if the first string is a prefix of the second -** returns 0 if yes -** non zero if now -** sigh -- the way strcmp does -*/ -int -S_wordcmp(s1,s2) -char *s1,*s2; -{ - return(strncmp(s1,s2,strlen(s2))); -} - -/* -** chop off any trailing zeros on a string -** but leave one zero if there are only zeros -*/ -void -S_trimzeros(str) -char *str; -{ - /* - ** end starts out pointing at the null terminator - */ - char *end = str + strlen(str); - - /* - ** if there is more than one character left in the string - */ - while(end > (str+1)) - { - --end; - if ('0' == *end) - { - *end = '\0'; - } - else - { - return; - } - } - return; -} - -/* -** save a copy of the string -*/ -void -S_savestr(to,from) -char **to,*from; -{ - S_allocstr(to,strlen(from)); - (void) strcpy(*to,from); - return; -} - -/* -** save cnt characters of the string -*/ -void -S_savenstr(to,from,cnt) -char **to,*from; -int cnt; -{ - S_allocstr(to,cnt); - (void) strncpy(*to,from,cnt); - *((*to)+cnt) = '\0'; - return; -} - -/* -** allocate space for a string, add 1 to size to -** make sure that there is room for the terminating null character -*/ -void -S_allocstr(to,size) -char **to; -int size; -{ - *to = Z_ALLOC(size+1,char); -} |