summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in4
-rw-r--r--asm/srcfile.c (renamed from nasmlib/srcfile.c)3
-rw-r--r--asm/srcfile.h58
-rw-r--r--include/nasm.h1
-rw-r--r--include/nasmlib.h18
5 files changed, 64 insertions, 20 deletions
diff --git a/Makefile.in b/Makefile.in
index ba0ae26a..1ed759d4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -100,7 +100,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \
nasmlib/md5c.$(O) nasmlib/string.$(O) nasmlib/nctype.$(O) \
nasmlib/file.$(O) nasmlib/mmap.$(O) nasmlib/ilog2.$(O) \
nasmlib/realpath.$(O) nasmlib/path.$(O) \
- nasmlib/filename.$(O) nasmlib/srcfile.$(O) \
+ nasmlib/filename.$(O) \
nasmlib/zerobuf.$(O) nasmlib/readnum.$(O) nasmlib/bsi.$(O) \
nasmlib/rbtree.$(O) nasmlib/hashtbl.$(O) \
nasmlib/raa.$(O) nasmlib/saa.$(O) \
@@ -125,7 +125,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \
asm/segalloc.$(O) \
asm/preproc-nop.$(O) \
asm/rdstrnum.$(O) \
- \
+ asm/srcfile.$(O) \
macros/macros.$(O) \
\
output/outform.$(O) output/outlib.$(O) output/legacy.$(O) \
diff --git a/nasmlib/srcfile.c b/asm/srcfile.c
index 6fbe763f..158f83d2 100644
--- a/nasmlib/srcfile.c
+++ b/asm/srcfile.c
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------- *
*
- * Copyright 1996-2016 The NASM Authors - All Rights Reserved
+ * Copyright 1996-2018 The NASM Authors - All Rights Reserved
* See the file AUTHORS included with the NASM distribution for
* the specific copyright holders.
*
@@ -42,6 +42,7 @@
#include "nasmlib.h"
#include "hashtbl.h"
+#include "srcfile.h"
static const char *file_name = NULL;
static int32_t line_number = 0;
diff --git a/asm/srcfile.h b/asm/srcfile.h
new file mode 100644
index 00000000..4916730d
--- /dev/null
+++ b/asm/srcfile.h
@@ -0,0 +1,58 @@
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 1996-2016 The NASM Authors - All Rights Reserved
+ * See the file AUTHORS included with the NASM distribution for
+ * the specific copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * These functions are used to keep track of the source code file and name.
+ */
+#ifndef ASM_SRCFILE_H
+#define ASM_SRCFILE_H
+
+#include "compiler.h"
+
+void src_init(void);
+void src_free(void);
+const char *src_set_fname(const char *newname);
+const char *src_get_fname(void);
+int32_t src_set_linnum(int32_t newline);
+int32_t src_get_linnum(void);
+/* Can be used when there is no need for the old information */
+void src_set(int32_t line, const char *filename);
+/*
+ * src_get gets both the source file name and line.
+ * It is also used if you maintain private status about the source location
+ * It return 0 if the information was the same as the last time you
+ * checked, -2 if the name changed and (new-old) if just the line changed.
+ */
+int32_t src_get(int32_t *xline, const char **xname);
+
+#endif /* ASM_SRCFILE_H */
diff --git a/include/nasm.h b/include/nasm.h
index 1d26df98..f259d063 100644
--- a/include/nasm.h
+++ b/include/nasm.h
@@ -52,6 +52,7 @@
#include "labels.h" /* For enum mangle_index, enum label_type */
#include "opflags.h"
#include "regs.h"
+#include "srcfile.h"
/* Time stamp for the official start of compilation */
struct compile_time {
diff --git a/include/nasmlib.h b/include/nasmlib.h
index ee8045e0..db624987 100644
--- a/include/nasmlib.h
+++ b/include/nasmlib.h
@@ -248,24 +248,8 @@ int bsi(const char *string, const char **array, int size);
int bsii(const char *string, const char **array, int size);
/*
- * These functions are used to keep track of the source code file and name.
+ * Convenient string processing helper routines
*/
-void src_init(void);
-void src_free(void);
-const char *src_set_fname(const char *newname);
-const char *src_get_fname(void);
-int32_t src_set_linnum(int32_t newline);
-int32_t src_get_linnum(void);
-/* Can be used when there is no need for the old information */
-void src_set(int32_t line, const char *filename);
-/*
- * src_get gets both the source file name and line.
- * It is also used if you maintain private status about the source location
- * It return 0 if the information was the same as the last time you
- * checked, -2 if the name changed and (new-old) if just the line changed.
- */
-int32_t src_get(int32_t *xline, const char **xname);
-
char *nasm_skip_spaces(const char *p);
char *nasm_skip_word(const char *p);
char *nasm_zap_spaces_fwd(char *p);