libft's People
libft's Issues
split malloc_words関数はword_countを受け取る必要なさそう。
malloc_words関数内で、count_words関数と同じロジック使えば良さそう。
Lines 46 to 47 in ca15bf7
calloc オーバーフローの判定見直す
Line 26 in ca15bf7
strnstr このif文必要なさそう。
Line 28 in ca15bf7
strlcat dst_iが必要なさそう。
dst[len_dst + src_i]
に書き直せそう。
Line 36 in ca15bf7
split sが空文字列のときを特別扱いせずにやる方法がありそう。
Lines 96 to 97 in ca15bf7
strtrim 計算がオーバーフローする可能性がありそう。
Line 87 in ca15bf7
strlcat dstの終端null文字埋めのインデックスアクセスを見直したほうが良さそう
dst[len_dst + i] = '\0'
のほうが安全そう。
Line 40 in ca15bf7
各関数は独立していたほうが使いやすい。
Libftを使用できない場面や、関数1つだけがほしい場合などには、関数を1つコピペするだけで動くほうがありがたい。
特にcallocなどのシンプルな関数が、他の関数に依存しているのはとても使い勝手が悪い。
strnstr whileの条件式を見直せそう。
strlcat strlenが使えそう。
strnlenを使えば上の方の条件式もなくて大丈夫そう。
Lines 28 to 32 in ca15bf7
strlcat cpy系の関数が使えそう。
strlcpyとか使えそう。
1つのループで2つの変数を動かすのはやらないほうが良い。
Lines 33 to 39 in ca15bf7
strnstr whileの条件を見直したほうが良さそう
atoi check_head関数を分けるよりも、オーバーフロー周りの処理を切り分けたほうが汎用性が高そう。
putnbr whileの条件式。divisorが0になるまででも大丈夫そう。
Line 57 in ca15bf7
strlcat 本家ではstrnlenが使われているらしい。
strnlen(dst, dstsize)
Line 24 in ca15bf7
putnbr キャストの位置が変?
nb = (unsigned int)((n + 1) *-1) + 1;
のほうがよさそう。
Line 73 in ca15bf7
strlcat whileの条件式。dst_i < dstsize - 1のほうがよさそう
dst_i < dstsize - 1
Line 34 in ca15bf7
split この塊を新しい関数に切り出したら便利そう
Lines 65 to 69 in ca15bf7
itoa 0は特別扱いしなくてもwhileの条件とかを工夫すればなんとかなりそう
while(1)にしてif->breakとかすればできそう。
(そうすれば1回はwhileの中に入る(do-while))
Lines 51 to 52 in ca15bf7
calloc returnの後に文が書かれてるので実行されない。
Lines 28 to 29 in ca15bf7
atoi インプットがLONG_MINの時と、オーバーフローしたときが同じifの中に入っている。
strtolはオーバーフローしたときにerrnoを設定するので、このコードだと難しそう。
Lines 44 to 45 in ca15bf7
split この2つの変数は1つにできそう
Lines 50 to 51 in ca15bf7
substr callocをいろんなところに書くのはあまり良くない。
今回はreturnしてるので大丈夫だが、callocを複数場所に書くとleaksが怖い。
できれば変数を書き換えるとかで対応できると良い。
Lines 20 to 21 in ca15bf7
strnstr この2つの条件分岐は必要なさそう。
if (needle[0] == '\0')
はそもそも必要なさそう。
if (len == 0)
はwhileの条件(i < lenを先頭に持ってくる)で対応できそう。
Lines 20 to 23 in ca15bf7
split count_word_len関数は、offsetを受け取らないほうがやりやすそう。
offsetを受け取らずに、ft_strclenみたいな関数にできそう。
Lines 33 to 44 in ca15bf7
split malloc_words関数の返り値をchar**にしてmallocに失敗したらその時点でfreeしてNULL返したほうが良さそう
Lines 67 to 68 in ca15bf7
putnbr nb==0を特別扱いせずにやる方法がありそう。
substr この一行いらなそう。
Line 31 in ca15bf7
itoa unsigned intのほうがいい
substr strdup("")のほうが良さそう
Line 25 in ca15bf7
substr s==NULLのifは先頭に書いたほうが良さそう
sがNULLでlenが0のときに空文字列が返るのはよくなさそう
Lines 20 to 23 in ca15bf7
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.