wxWidgets/wxPython/SWIG/swig.SplitLines.patch
2003-11-12 21:34:20 +00:00

76 lines
2.2 KiB
Diff

Index: Source/DOH/doh.h
===================================================================
RCS file: /cvsroot/SWIG/Source/DOH/doh.h,v
retrieving revision 1.7
diff -u -r1.7 doh.h
--- Source/DOH/doh.h 11 Sep 2003 20:26:53 -0000 1.7
+++ Source/DOH/doh.h 24 Oct 2003 00:00:41 -0000
@@ -99,6 +99,7 @@
#define DohNewHash DOH_NAMESPACE(NewHash)
#define DohNewVoid DOH_NAMESPACE(NewVoid)
#define DohSplit DOH_NAMESPACE(Split)
+#define DohSplitLines DOH_NAMESPACE(SplitLines)
#define DohNone DOH_NAMESPACE(None)
#define DohCall DOH_NAMESPACE(Call)
#define DohObjMalloc DOH_NAMESPACE(ObjMalloc)
@@ -304,6 +305,7 @@
extern DOHVoid *DohNewVoid(void *ptr, void (*del)(void *));
extern DOHList *DohSplit(DOHFile *input, char ch, int nsplits);
+extern DOHList *DohSplitLines(DOHFile *input);
extern DOH *DohNone;
extern void DohMemoryDebug(void);
@@ -378,6 +380,7 @@
#define Strchr DohStrchr
#define Copyto DohCopyto
#define Split DohSplit
+#define SplitLines DohSplitLines
#define Setmark DohSetmark
#define Getmark DohGetmark
#define None DohNone
Index: Source/DOH/fio.c
===================================================================
RCS file: /cvsroot/SWIG/Source/DOH/fio.c,v
retrieving revision 1.2
diff -u -r1.2 fio.c
--- Source/DOH/fio.c 15 Aug 2003 19:37:27 -0000 1.2
+++ Source/DOH/fio.c 24 Oct 2003 00:00:42 -0000
@@ -497,6 +497,36 @@
}
/* -----------------------------------------------------------------------------
+ * DohSplitLines()
+ *
+ * Split an input stream into a list of strings delimited by newline characters.
+ * ----------------------------------------------------------------------------- */
+
+DOH *
+DohSplitLines(DOH *in) {
+ DOH *list;
+ DOH *str;
+ int c = 0;
+
+ list = NewList();
+
+ if (DohIsString(in)) {
+ Seek(in,0,SEEK_SET);
+ }
+
+ while (c != EOF) {
+ str = NewString("");
+ while ((c = Getc(in)) != '\n' && c != EOF) {
+ Putc(c, str);
+ }
+ Append(list,str);
+ Delete(str);
+ }
+ return list;
+}
+
+
+/* -----------------------------------------------------------------------------
* DohReadline()
*
* Read a single input line and return it as a string.