Dietlibc Warnungen unterdrücken?


  • Mod

    Was ist denn dein Problem? Die Warnungen sind doch nur Warnungen und von deiner Beschreibung her vollkommen berechtigt, da du tatsächlich printf benutzt. Wenn dich solche Warnungen stören, dann benutze eben nicht dietlibc. Wenn du unbedingt dietlibc und trotzdem printf benutzen möchtest, dann musst du eben über solchen Dingen stehen, da du als Programmierer bewusst zwei auf den ersten Blick widerläufige Konzepte zusammengebracht hast, da du es anscheinend besser weißt. Genau dazu sind Warnungen doch da: Als Neuling schützt es dich vor Dummheiten, aber wenn du weißt was du tust, dann kannst du es einfach ignorieren.



  • Statt diet gcc, könntest du gcc verwenden und einfach dietlibc statt glibc verlinken. 🙂

    L. G.
    Steffo



  • Steffo schrieb:

    Statt diet gcc, könntest du gcc verwenden und einfach dietlibc statt glibc verlinken. 🙂

    L. G.
    Steffo

    ich dachte dieses diet setzt nur iwelche variablen und verwendet dann den gcc?

    also in vsprintf.c gibts sowas

    link_warning("vsprintf","warning: Avoid *sprintf; use *snprintf. It is more secure.")
    

    und in dietwarning.h

    #ifdef WANT_LINKER_WARNINGS
    
    #ifndef __ASSEMBLER__
    
    #define link_warning(symbol,msg) \
      asm (".section .gnu.warning." symbol "\n\t.string \"" msg "\"\n\t.previous");
    
    #else
    
    #define link_warning(symbol,msg) \
      .section .gnu.warning.##symbol ;\
      .string msg ;\
      .previous
    
    #endif
    
    #else
    
    #define link_warning(foo,bar)
    
    #endif
    

    muss ich jetzt dietlibc neu compilieren, damit die warnungen raus gehen? schon, oder 😕



  • _-- schrieb:

    belohnung gibt's erst, wenn das problem gelöst ist 😋

    wirklich? Mit schleck-Smiley?



  • ist das problem jetzt gelöst 🙄



  • okay, warte! versprochen ist versprochen 🕶



  • download.sh

    #!/bin/bash
    
    function start_load
    {
    	nn=`mktemp -d`
    	this_dir=`pwd`
    
    	if [ ! -d "$this_dir/$3" ]; then
    		mkdir "$this_dir/$3"
    	fi
    
    	cd "$3"
    
    	mkdir small
    	mkdir medium
    	mkdir large
    
    	cd "$this_dir"
    
    	cd "$nn"
    
    	wget --limit-rate=100k -A.jpg -p -r -l "$2" -U "Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.16) Gecko/20120201 Iceweasel/3.5.16 (like Firefox/3.5.16)" "$1"
    
    	for f in `find . -type d -name trash -prune -o -iname "*.jpg" -print`
    	do
    		IMG_CHARS=`identify "$f" 2> /dev/null`
    		IMG_CHARS=$(echo "${IMG_CHARS}" | sed -n 's/\(^.*\)\ \([0-9]*\)x\([0-9]*\)\ \(.*$\)/\2 \3/p')
    		WIDTH=$(echo "${IMG_CHARS}" | awk '{print $1}')
    		HEIGHT=$(echo "${IMG_CHARS}" | awk '{print $2}')
    		WIDTH_HEIGHT=$(( WIDTH * HEIGHT ));
    
    		tmp_time=`date +%s%N`
    		tmp_name="$f"
    		tmp_name=`echo "$tmp_name"|sed 's/#/##/g'`
    		tmp_name=`echo "$tmp_name"|sed 's/@/@@/g'`
    		tmp_name=`echo "$tmp_name"|sed 's/\//@/g'`
    		tmp_name=`echo "$tmp_name"|sed 's/\./#/g'`
    
    		if [ $WIDTH_HEIGHT -ge 250000 ]; then
    			cp "$f" "$this_dir/$3/large/w${WIDTH}_h${HEIGHT}_$tmp_name.jpg"
    		elif [ $WIDTH_HEIGHT -ge 50000 ]; then
    			cp "$f" "$this_dir/$3/medium/w${WIDTH}_h${HEIGHT}_$tmp_name.jpg"
    		else
    			cp "$f" "$this_dir/$3/small/w${WIDTH}_h${HEIGHT}_$tmp_name.jpg"
    		fi
    	done
    
    	cd "$this_dir"
    
    	rm -r "$nn"
    }
    
    if [ -t 0 ]; then
    	start_load "$3" "$1" "$2"
    else
    	while read line
    	do
    		start_load "$line" "$1" "$2"
    	done < /dev/stdin
    fi
    exit
    

    extract_ex.php

    #!/usr/bin/php
    <?
    $str = file_get_contents('php://stdin');
    
    function preg_match_remove($pattern,&$arr,$key){
    	$base = &$arr[$key];
    	$arr_l = count($arr);
    	for($l=0;$l < count($base);$l++){
    		if(preg_match($pattern,$base[$l])){
    			$tmp_l = $arr_l;
    			while($tmp_l--){
    				array_splice($arr[$tmp_l],$l,1);
    			}
    			$l--;
    		}
    	}
    }
    
    preg_match_all(
    	'@<a.*?href="(http://[^"]*).*?>(.*?)</a>@sm'
    	,$str
    	,$matches
    );
    
    preg_match_remove("@xxxmatch|sexsearchcom|freeones@sm",$matches,0);
    
    echo implode($matches[1],"\n")."\n";
    
    ?>
    

    extract.sh

    #!/bin/bash
    
    wget -O - "$1" -q | ./extract_ex.php | ./download.sh 1 "$2"
    

    alles in einen ordner und dann

    ./extract.sh "http://de.freeones.com/html/c_links/Collien_Fernandes/" "Collien Fernandes"
    

    besser als nichts, ich geh jetzt 'ne runde kicken 🙂



  • Ist das die Belohnung? Was soll der Code machen? Und was soll das für eine Belohnung sein, die ein Mann nicht hätte geben können? 😕



  • junge junge, ich glaube das ist gar kein mädchen 😉



  • Das hatte ich auch befürchtet...


Anmelden zum Antworten