libft's Issues
split malloc_words関数の返り値をchar**にしてmallocに失敗したらその時点でfreeしてNULL返したほうが良さそう
Lines 67 to 68 in ca15bf7
split malloc_words関数はword_countを受け取る必要なさそう。
malloc_words関数内で、count_words関数と同じロジック使えば良さそう。
Lines 46 to 47 in ca15bf7
split sが空文字列のときを特別扱いせずにやる方法がありそう。
Lines 96 to 97 in ca15bf7
strlcat cpy系の関数が使えそう。
strlcpyとか使えそう。
1つのループで2つの変数を動かすのはやらないほうが良い。
Lines 33 to 39 in ca15bf7
strnstr whileの条件式を見直せそう。
putnbr キャストの位置が変?
nb = (unsigned int)((n + 1) *-1) + 1;
のほうがよさそう。
Line 73 in ca15bf7
substr strdup("")のほうが良さそう
Line 25 in ca15bf7
substr s==NULLのifは先頭に書いたほうが良さそう
sがNULLでlenが0のときに空文字列が返るのはよくなさそう
Lines 20 to 23 in ca15bf7
calloc returnの後に文が書かれてるので実行されない。
Lines 28 to 29 in ca15bf7
strlcat strlenが使えそう。
strnlenを使えば上の方の条件式もなくて大丈夫そう。
Lines 28 to 32 in ca15bf7
strlcat dst_iが必要なさそう。
dst[len_dst + src_i]
に書き直せそう。
Line 36 in ca15bf7
putnbr whileの条件式。divisorが0になるまででも大丈夫そう。
Line 57 in ca15bf7
split この2つの変数は1つにできそう
Lines 50 to 51 in ca15bf7
strlcat whileの条件式。dst_i < dstsize - 1のほうがよさそう
dst_i < dstsize - 1
Line 34 in ca15bf7
atoi インプットがLONG_MINの時と、オーバーフローしたときが同じifの中に入っている。
strtolはオーバーフローしたときにerrnoを設定するので、このコードだと難しそう。
Lines 44 to 45 in ca15bf7
calloc オーバーフローの判定見直す
Line 26 in ca15bf7
strnstr whileの条件を見直したほうが良さそう
split この塊を新しい関数に切り出したら便利そう
Lines 65 to 69 in ca15bf7
substr callocをいろんなところに書くのはあまり良くない。
今回はreturnしてるので大丈夫だが、callocを複数場所に書くとleaksが怖い。
できれば変数を書き換えるとかで対応できると良い。
Lines 20 to 21 in ca15bf7
strtrim 計算がオーバーフローする可能性がありそう。
Line 87 in ca15bf7
substr この一行いらなそう。
Line 31 in ca15bf7
strlcat dstの終端null文字埋めのインデックスアクセスを見直したほうが良さそう
dst[len_dst + i] = '\0'
のほうが安全そう。
Line 40 in ca15bf7
atoi check_head関数を分けるよりも、オーバーフロー周りの処理を切り分けたほうが汎用性が高そう。
strlcat 本家ではstrnlenが使われているらしい。
strnlen(dst, dstsize)
Line 24 in ca15bf7
strnstr この2つの条件分岐は必要なさそう。
if (needle[0] == '\0')
はそもそも必要なさそう。
if (len == 0)
はwhileの条件(i < lenを先頭に持ってくる)で対応できそう。
Lines 20 to 23 in ca15bf7
各関数は独立していたほうが使いやすい。
Libftを使用できない場面や、関数1つだけがほしい場合などには、関数を1つコピペするだけで動くほうがありがたい。
特にcallocなどのシンプルな関数が、他の関数に依存しているのはとても使い勝手が悪い。
putnbr nb==0を特別扱いせずにやる方法がありそう。
strnstr このif文必要なさそう。
Line 28 in ca15bf7
itoa 0は特別扱いしなくてもwhileの条件とかを工夫すればなんとかなりそう
while(1)にしてif->breakとかすればできそう。
(そうすれば1回はwhileの中に入る(do-while))
Lines 51 to 52 in ca15bf7
split count_word_len関数は、offsetを受け取らないほうがやりやすそう。
offsetを受け取らずに、ft_strclenみたいな関数にできそう。
Lines 33 to 44 in ca15bf7
itoa unsigned intのほうがいい
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.