Hello community,
here is the log from the commit of package bff4 for openSUSE:Factory
checked in at Wed Jun 1 12:03:15 CEST 2011.
--------
New Changes file:
--- /dev/null 2010-08-26 16:28:41.000000000 +0200
+++ /mounts/work_src_done/STABLE/bff4/bff4.changes 2010-04-11 11:32:16.000000000 +0200
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Sun Apr 11 09:32:03 UTC 2010 - adam@mizerski.pl
+
+- new package
+
calling whatdependson for head-i586
New:
----
arg.patch
bff4.c
bff4.changes
bff4.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bff4.spec ++++++
#
# spec file for package bff4
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: bff4
Version: 1
Release: 1
License: OSI_COMPLIANT_FREE(Public domain)
Source0: %{name}.c
Patch0: arg.patch
Group: Development/Languages/Other
Summary: Fast Brainfuck interpreter
Url: http://mazonka.com/brainf/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Optimizing brainfuck implementation of dialect based on Daniel's dbfi (see "A very short self-interpreter")
This interpreter has only one input: program and input to the program have to be separated with ! e.g. ",.!a" prints 'a' To use it in interactive mode paste your program as input.
This program can be compiled with LNR macro defined. LNR is another optimization of linear loops (where '<>' balanced), e.g. [->+>++<<]. Linear loop is then executed in one step.
Oleg Mazonka 4.12.06 http://mazonka.com/
%prep
%__cp %{SOURCE0} .
%patch0
%build
gcc %{SOURCE0} -o %{name} %optflags
gcc %{SOURCE0} -DLNR -o %{name}lnr %optflags
%install
%__install -D -m 755 %{name} %buildroot%{_bindir}/%{name}
%__install -D -m 755 %{name}lnr %buildroot%{_bindir}/%{name}lnr
%clean
%__rm -rf %buildroot
%files
%defattr(-,root,root)
%{_bindir}/%{name}
%{_bindir}/%{name}lnr
%changelog
++++++ arg.patch ++++++
--- bff4.c 2007-06-13 06:28:04.000000000 +0200
+++ bff4_mod.c 2010-01-25 19:54:47.538918492 +0100
@@ -49,13 +49,15 @@ void * zalloc(void *p, int sz, int osz)
}
#define zalloci(p,sz,osz) zalloc(p,(sz)*sizeof(int),(osz)*sizeof(int));
+FILE * istrm;
+
int getbf()
{
int a;
next:
- a = getchar();
+ a = getc(istrm);
if( a==-1 ) return -1;
- if( !strchr(",.[]+-<>!",a) ) goto next;
+ if( !strchr(",.[]+-<>!",a) ) goto next;
return a;
}
@@ -119,11 +121,24 @@ int consume(op *o)
return a;
}
-int main()
+int main(int argc, char *argv[])
{
op * o=0, *z, *zend;
int sz=0, i, *m, mp, msz;
- int a = getbf();
+ int a;
+
+ if(argc == 1) {
+ istrm = stdin;
+ }
+ else {
+ istrm = fopen(argv[1],"r");
+ if (istrm == NULL) {
+ printf("error at opening file: %s\n", argv[1]);
+ return 1;
+ }
+ }
+
+ a = getbf();
for(;;sz++)
{
o = zalloc(o,(sz+1)*sizeof(op),sz*sizeof(op));
@@ -229,6 +244,7 @@ int main()
printf("\n");
#endif
}
+ fclose(istrm);
return 0;
}
++++++ bff4.c ++++++
/*
Optimizing brainfuck implementation of dialect based on
Daniel's dbfi (see "A very short self-interpreter")
This interpreter has only one input: program and input to the
program have to be separated with ! e.g. ",.!a" prints 'a'
To use it in interactive mode paste your program as input.
This program can be compiled with LNR macro defined.
LNR is another optimization of linear loops (where '<>' balanced), e.g. [->+>++<<].
Linear loop is then executed in one step.
Oleg Mazonka 4.12.06 http://mazonka.com/
*/
#include