diff --git a/src/common/make/gcc.mak b/src/common/make/gcc.mak index 56691fb91..42d3483b1 100644 --- a/src/common/make/gcc.mak +++ b/src/common/make/gcc.mak @@ -23,6 +23,7 @@ OBJS = abend.o \ matchpat.o \ print.o \ segdefs.o \ + segnames.o \ strbuf.o \ strutil.o \ target.o \ diff --git a/src/common/make/watcom.mak b/src/common/make/watcom.mak index 51551a6b3..ff351c4bd 100644 --- a/src/common/make/watcom.mak +++ b/src/common/make/watcom.mak @@ -55,6 +55,7 @@ OBJS = abend.obj \ matchpat.obj \ print.obj \ segdefs.obj \ + segnames.obj \ strbuf.obj \ strutil.obj \ target.obj \ diff --git a/src/common/segdefs.c b/src/common/segdefs.c index 907fccb64..a2d3bb7db 100644 --- a/src/common/segdefs.c +++ b/src/common/segdefs.c @@ -33,10 +33,7 @@ -#include - /* common */ -#include "chartype.h" #include "xmalloc.h" #include "segdefs.h" @@ -83,24 +80,3 @@ SegDef* DupSegDef (const SegDef* Def) -int ValidSegName (const char* Name) -/* Return true if the given segment name is valid, return false otherwise */ -{ - /* Must start with '_' or a letter */ - if ((*Name != '_' && !IsAlpha(*Name)) || strlen(Name) > 80) { - return 0; - } - - /* Can have letters, digits or the underline */ - while (*++Name) { - if (*Name != '_' && !IsAlNum(*Name)) { - return 0; - } - } - - /* Name is ok */ - return 1; -} - - - diff --git a/src/common/segdefs.h b/src/common/segdefs.h index 836ff9281..c983db22c 100644 --- a/src/common/segdefs.h +++ b/src/common/segdefs.h @@ -99,9 +99,6 @@ void FreeSegDef (SegDef* D); SegDef* DupSegDef (const SegDef* D); /* Duplicate a segment definition and return it */ -int ValidSegName (const char* Name); -/* Return true if the given segment name is valid, return false otherwise */ - /* End of segdefs.h */ diff --git a/src/common/segnames.c b/src/common/segnames.c new file mode 100644 index 000000000..78993589c --- /dev/null +++ b/src/common/segnames.c @@ -0,0 +1,70 @@ +/*****************************************************************************/ +/* */ +/* segnames.h */ +/* */ +/* Default segment names */ +/* */ +/* */ +/* */ +/* (C) 2003 Ullrich von Bassewitz */ +/* Römerstrasse 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ +/* */ +/* */ +/* This software is provided 'as-is', without any expressed or implied */ +/* warranty. In no event will the authors be held liable for any damages */ +/* arising from the use of this software. */ +/* */ +/* Permission is granted to anyone to use this software for any purpose, */ +/* including commercial applications, and to alter it and redistribute it */ +/* freely, subject to the following restrictions: */ +/* */ +/* 1. The origin of this software must not be misrepresented; you must not */ +/* claim that you wrote the original software. If you use this software */ +/* in a product, an acknowledgment in the product documentation would be */ +/* appreciated but is not required. */ +/* 2. Altered source versions must be plainly marked as such, and must not */ +/* be misrepresented as being the original software. */ +/* 3. This notice may not be removed or altered from any source */ +/* distribution. */ +/* */ +/*****************************************************************************/ + + + +#include + +/* common */ +#include "chartype.h" +#include "segnames.h" + + + +/*****************************************************************************/ +/* Code */ +/*****************************************************************************/ + + + +int ValidSegName (const char* Name) +/* Return true if the given segment name is valid, return false otherwise */ +{ + /* Must start with '_' or a letter */ + if ((*Name != '_' && !IsAlpha(*Name)) || strlen(Name) > 80) { + return 0; + } + + /* Can have letters, digits or the underline */ + while (*++Name) { + if (*Name != '_' && !IsAlNum(*Name)) { + return 0; + } + } + + /* Name is ok */ + return 1; +} + + + diff --git a/src/common/segnames.h b/src/common/segnames.h index 4b20839b7..3b0e20a57 100644 --- a/src/common/segnames.h +++ b/src/common/segnames.h @@ -60,6 +60,11 @@ +int ValidSegName (const char* Name); +/* Return true if the given segment name is valid, return false otherwise */ + + + /* End of segnames.h */ #endif