parent
fc7e18562b
commit
ae19d5c68b
@ -0,0 +1,24 @@ |
||||
diff --git old/as31/run.c new/as31/run.c
|
||||
index 28c5317..9e5263b 100644
|
||||
--- old/as31/run.c
|
||||
+++ new/as31/run.c
|
||||
@@ -113,7 +113,8 @@ int run_as31(const char *infile, int lst, int use_stdout,
|
||||
}
|
||||
|
||||
while (!feof(finPre)) {
|
||||
- getline(&lineBuffer,&sizeBuf,finPre);
|
||||
+ if (getline(&lineBuffer,&sizeBuf,finPre) == -1)
|
||||
+ break;
|
||||
if ((includePtr=strstr(lineBuffer,INC_CMD))) {
|
||||
includePtr=includePtr+strlen(INC_CMD);
|
||||
while ((*includePtr==' ')|| //move includePtr to filename
|
||||
@@ -138,7 +139,8 @@ int run_as31(const char *infile, int lst, int use_stdout,
|
||||
mesg_f("Cannot open include file: %s\n",includePtr);
|
||||
} else {
|
||||
while (!feof(includeFile)) {
|
||||
- getline(&incLineBuffer,&incSizeBuf,includeFile);
|
||||
+ if (getline(&incLineBuffer,&incSizeBuf,includeFile) == -1)
|
||||
+ break;
|
||||
fprintf(fin,"%s",incLineBuffer);
|
||||
if (strlen(incLineBuffer)) {
|
||||
incLineCount++;
|
@ -0,0 +1,43 @@ |
||||
{ lib |
||||
, stdenv |
||||
, fetchurl |
||||
, bison |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "as31"; |
||||
version = "2.3.1"; |
||||
|
||||
src = fetchurl { |
||||
url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:${pname}-${version}.tar.gz"; |
||||
name = "${pname}-${version}.tar.gz"; |
||||
hash = "sha256-zSEyWHFon5nyq717Mpmdv1XZ5Hz0e8ZABqsP8M83c1U="; |
||||
}; |
||||
|
||||
patches = [ |
||||
# Check return value of getline in run.c |
||||
./0000-getline-break.patch |
||||
]; |
||||
|
||||
postPatch = '' |
||||
# parser.c is generated from parser.y; it is better to generate it via bison |
||||
# instead of using the prebuilt one, especially in x86_64 |
||||
rm -f as31/parser.c |
||||
''; |
||||
|
||||
preConfigure = '' |
||||
chmod +x configure |
||||
''; |
||||
|
||||
nativeBuildInputs = [ |
||||
bison |
||||
]; |
||||
|
||||
meta = with lib; { |
||||
homepage = "http://wiki.erazor-zone.de/wiki:projects:linux:as31"; |
||||
description = "An 8031/8051 assembler"; |
||||
license = licenses.gpl2Plus; |
||||
maintainers = with maintainers; [ AndersonTorres ]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
Loading…
Reference in new issue