...
 
Commits (2)
......@@ -14,7 +14,7 @@ queue: $(OBJECTS)
style:
LC_ALL=C LANG=C astyle --align-reference=name --align-pointer=name --indent=spaces=4 --brackets=linux --indent-labels --pad-oper --unpad-paren --pad-header --keep-one-line-statements --convert-tabs --indent-preprocessor $$(find . -type f -name '*.c')
LC_ALL=C LANG=C astyle --align-reference=name --align-pointer=name --indent=spaces=4 --indent-labels --pad-oper --unpad-paren --pad-header --keep-one-line-statements --convert-tabs --indent-preprocessor $$(find . -type f -name '*.c')
strip: queue
strip $<
......
CFLAGS+=-Wall -O2 -ansi -std=c11 -pedantic
LDFLAGS+=
OBJECTS=remcoch.o
HEADERS=
all: remcoch
%.o: %.c $(HEADERS)
$(CC) $(CFLAGS) -c -o [email protected] $<
remcoch: $(OBJECTS)
$(CC) $(LDFLAGS) -o [email protected] $^
style:
LC_ALL=C LANG=C astyle --indent=tab=4 --indent-labels --pad-oper --unpad-paren --keep-one-line-statements --convert-tabs --indent-preprocessor $$(find . -type f -name '*.c')
strip: remcoch
strip $<
mrproper: clean
rm -f remcoch
clean:
rm -f *~ *.orig
rm -f $(OBJECTS)
/* Copyright (c) 2017, Thomas Fischer <[email protected]>
* All rights reserved.
*
* 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.
* * Neither the name of Thomas Fischer nor the names of other contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* 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 THOMAS FISCHER 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.
*/
#include <stdio.h>
int main(int argc, char *argv[])
{
/// Read first character
int c = fgetc(stdin);
/// While not at end of file ...
while(c != EOF) {
/// Check if previously read character is valid,
/// i.e. regular ASCII character or allowed
/// control character (NULL, TAB, LF, or CR)
if(c >= 32 || c == 0 || c == 9 || c == 10 || c == 13) {
if(fputc(c, stdout) == EOF) return 1; ///< Print valid character, but exit with error on stdout's EOF
}
/// Read next character
c = fgetc(stdin);
}
/// Exit without error
return 0;
}