diff --git a/Readme.md b/Readme.md index 45e8c211599d3e06b6968bfd0d525cae56c17fce..7441a067453b7b5b1810a6af2e0929b20b4597af 100644 --- a/Readme.md +++ b/Readme.md @@ -251,7 +251,7 @@ static void sigchldHandler(int sig) { <!-- include (threadpool.c lang=c) --> ```c # include "die.h" -# include "errno.h" +# include <errno.h> # include <pthread.h> # include "jbuffer.h" @@ -349,7 +349,7 @@ BNDBUF *bbCreate(size_t size) { void bbDestroy(BNDBUF *bb) { if(bb == NULL) return; - free(bb->buff);//each does noting if NULL + free(bb->buff);//each does nothing if NULL semDestroy(bb->freeSpaceSem); semDestroy(bb->usedSpaceSem); free(bb); @@ -387,7 +387,7 @@ int bbGet(BNDBUF *bb) { int main() { FILE* file = fopen("../fopen.c", "w"); - if ( file == NULL ) die("Fehler bei der Anpassung der Standardeingabe"); + if ( file == NULL ) die("fopen"); //do stuff @@ -409,7 +409,7 @@ int main() { # define BASEDIR "." -int filter(const struct dirent *dir) { +static int filter(const struct dirent *dir) { if(dir->d_name[0] == '.') { return 0;//filter out .files } diff --git a/Zettel.html b/Zettel.html index 5388d8a88b55588c6e8e66e2eee44b29161b6f34..682b85ad2c771a309dba466354e6c67f74727ca4 100644 --- a/Zettel.html +++ b/Zettel.html @@ -236,7 +236,7 @@ accept</p> <h3>pthread</h3> <p><!-- include (threadpool.c lang=c) --></p> <pre><code class="hljs language-c"><span class="hljs-meta"># <span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">"die.h"</span></span> -<span class="hljs-meta"># <span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">"errno.h"</span></span> +<span class="hljs-meta"># <span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><errno.h></span></span> <span class="hljs-meta"># <span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><pthread.h></span></span> <span class="hljs-meta"># <span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">"jbuffer.h"</span></span> @@ -330,7 +330,7 @@ accept</p> <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">bbDestroy</span><span class="hljs-params">(BNDBUF *bb)</span> </span>{ <span class="hljs-keyword">if</span>(bb == <span class="hljs-literal">NULL</span>) <span class="hljs-keyword">return</span>; - <span class="hljs-built_in">free</span>(bb->buff);<span class="hljs-comment">//each does noting if NULL</span> + <span class="hljs-built_in">free</span>(bb->buff);<span class="hljs-comment">//each does nothing if NULL</span> semDestroy(bb->freeSpaceSem); semDestroy(bb->usedSpaceSem); <span class="hljs-built_in">free</span>(bb); @@ -365,7 +365,7 @@ accept</p> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ FILE* file = fopen(<span class="hljs-string">"../fopen.c"</span>, <span class="hljs-string">"w"</span>); - <span class="hljs-keyword">if</span> ( file == <span class="hljs-literal">NULL</span> ) die(<span class="hljs-string">"Fehler bei der Anpassung der Standardeingabe"</span>); + <span class="hljs-keyword">if</span> ( file == <span class="hljs-literal">NULL</span> ) die(<span class="hljs-string">"fopen"</span>); <span class="hljs-comment">//do stuff</span> @@ -384,7 +384,7 @@ accept</p> <span class="hljs-meta"># <span class="hljs-meta-keyword">define</span> BASEDIR <span class="hljs-meta-string">"."</span></span> -<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">filter</span><span class="hljs-params">(<span class="hljs-keyword">const</span> struct dirent *dir)</span> </span>{ +<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">int</span> <span class="hljs-title">filter</span><span class="hljs-params">(<span class="hljs-keyword">const</span> struct dirent *dir)</span> </span>{ <span class="hljs-keyword">if</span>(dir->d_name[<span class="hljs-number">0</span>] == <span class="hljs-string">'.'</span>) { <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;<span class="hljs-comment">//filter out .files</span> } diff --git a/fopen.c b/fopen.c index 374da72be67056f45f87ac9280c4d834e44593db..24371c64602e774ab7710a1ce41d819e28835243 100644 --- a/fopen.c +++ b/fopen.c @@ -3,7 +3,7 @@ int main() { FILE* file = fopen("../fopen.c", "w"); - if ( file == NULL ) die("Fehler bei der Anpassung der Standardeingabe"); + if ( file == NULL ) die("fopen"); //do stuff diff --git a/jbuffer.c b/jbuffer.c index be8c1bdccb9b61f34337fa2669cea22a9b3c8881..cfc06aa2095895ff6821d82f1e4e3e05375f0790 100644 --- a/jbuffer.c +++ b/jbuffer.c @@ -45,7 +45,7 @@ BNDBUF *bbCreate(size_t size) { void bbDestroy(BNDBUF *bb) { if(bb == NULL) return; - free(bb->buff);//each does noting if NULL + free(bb->buff);//each does nothing if NULL semDestroy(bb->freeSpaceSem); semDestroy(bb->usedSpaceSem); free(bb); diff --git a/listFiles.c b/listFiles.c index 8309cd88b555339555bbf3365476b67f6a986b79..1959777525c5e8fcee4a97bc805925631ece4f3e 100644 --- a/listFiles.c +++ b/listFiles.c @@ -7,7 +7,7 @@ #define BASEDIR "." -int filter(const struct dirent *dir) { +static int filter(const struct dirent *dir) { if(dir->d_name[0] == '.') { return 0;//filter out .files } diff --git a/sscanf.c b/sscanf.c new file mode 100644 index 0000000000000000000000000000000000000000..855058ff2fd794d95053dd87f8aca0d0ee598642 --- /dev/null +++ b/sscanf.c @@ -0,0 +1,16 @@ +//#include "die.h" +#include <stdio.h> + +int main() { + char *str = "GET http://www.fau.de/index.php?v=123 HTTP/1.1\r\n\r\n"; + + char host[100]; + char path[100]; + char var[2]; + int version; + + int res = sscanf(str, "GET http://%99[^/]%99[^?]?%1s=%5d HTTP/1.%*[0-1]\r\n\r\n", host, path, var, &version); + if(res != 4) printf("err:%d\n", res); + + printf("Host:%s\nPath:%s\n%s:%d\n", host, path, var, version); +} \ No newline at end of file diff --git a/threadpool.c b/threadpool.c index edc3562ae53f6a3598178da030e953ae2a5895b8..af60bc3b879b9d1a84c24068fbfe5b3c0310c8f4 100644 --- a/threadpool.c +++ b/threadpool.c @@ -1,5 +1,5 @@ #include "die.h" -#include "errno.h" +#include <errno.h> #include <pthread.h> #include "jbuffer.h"