编程小贴士

给你的编程提供小点子


do{…}while(0)的意义和用法

linux内核和其他一些开源的代码中,经常会遇到这样的代码:

do{

}while(0)

这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?

实际上,do{…}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:

1、辅助定义复杂的宏,避免引用的时候出错:

举例来说,假设你需要定义这样一个宏:

#define DOSOMETHING()\\
foo1();\\
foo2();

这个宏的本意是,当调用DOSOMETHING()时,函数foo1()和foo2()都会被调用。但是如果你在调用的时候这么写:

if(a>0)
DOSOMETHING();

因为宏在预处理的时候会直接被展开,你实际上写的代码是这个样子的:

if(a>0)
foo1();
foo2();

这就出现了问题,因为无论a是否大于0,foo2()都会被执行,导致程序出错。

那么仅仅使用{}将foo1()和foo2()包起来行么?

我们在写代码的时候都习惯在语句右面加上分号,如果在宏中使用{},代码里就相当于这样写了:“{…};”,展开后就是这个样子:

if(a>0)
{
foo1();
foo2();
};

这样甚至不会编译通过。所以,很多人才采用了do{…}while(0);

#define DOSOMETHING() \\
do{ \\
foo1();\\
foo2();\\
}while(0)\\

if(a>0)
DOSOMETHING();

这样,宏被展开后,才会保留初始的语义。GCC提供了Statement-Expressions用以替代do{…}while(0); 所以你也可以这样定义宏:

#define DOSOMETHING() ({\\
foo1(); \\
foo2(); \\
})

http://www.spongeliu.com/

2、避免使用goto对程序流进行统一的控制:

有些函数中,在函数return之前我们经常会进行一些收尾的工作,比如free掉一块函数开始malloc的内存,goto一直都是一个比较简便的方法:

int foo()
{
somestruct* ptr = malloc(…);

dosomething…;
if(error)
{
goto END;
}

dosomething…;
if(error)
{
goto END;
}
dosomething…;

END:
free(ptr);
return 0;

}

由于goto不符合软件工程的结构化,而且有可能使得代码难懂,所以很多人都不倡导使用,那这个时候就可以用do{}while(0)来进行统一的管理:

int foo()
{

somestruct* ptr = malloc(…);

do{
dosomething…;
if(error)
{
break;
}

dosomething…;
if(error)
{
break;
}
dosomething…;
}while(0);

free(ptr);
return 0;

}

这里将函数主体使用do()while(0)包含起来,使用break来代替goto,后续的处理工作在while之后,就能够达到同样的效果。

3、避免空宏引起的warning

内核中由于不同架构的限制,很多时候会用到空宏,在编译的时候,空宏会给出warning,为了避免这样的warning,就可以使用do{}while(0)来定义空宏:

#define EMPTYMICRO do{}while(0)

4、定义一个单独的函数块来实现复杂的操作:

当你的功能很复杂,变量很多你又不愿意增加一个函数的时候,使用do{}while(0);,将你的代码写在里面,里面可以定义变量而不用考虑变量名会同函数之前或者之后的重复。

238 Responses to “ do{…}while(0)的意义和用法 ”

  1. chocopie说道:

    sQ5v7y Thanks so much for the post.Thanks Again. Much obliged.

  2. You cann at imagine just how much time I had spent for this information! Thanks!

  3. Ultimately, an issue that I am passionate about. I have looked for information of this caliber for the very last numerous hours. Your site is greatly appreciated.

  4. Giay cao got说道:

    Keep in the excellent function, I read few articles on this website along with I conceive your web blog is incredibly interesting and contains got companies of fantastic info.

  5. girl coloring说道:

    Major thanks for the blog article.Thanks Again. Awesome.

  6. that would be the end of this article. Here you will find some web pages that we think you will enjoy, just click the hyperlinks over

  7. Thanks again for the article.Really looking forward to read more. Want more.

  8. My Face Gifts说道:

    Im obliged for the article post.Thanks Again. Really Cool.

  9. You might have an incredibly great layout for the blog i want it to use on my web site too

  10. Of course, what a splendid blog and educative posts, I will bookmark your website.All the Best!

  11. click here说道:

    This is one awesome article post. Really Great.

  12. Oluwadamilare说道:

    whoah this blog is wonderful i love reading your posts. Keep up the great work! You know, many people are searching around for this information, you can aid them greatly.

  13. visit说道:

    This is exactly what I was looking for, many thanks

  14. I simply could not go away your web site prior to suggesting that I extremely loved the standard information an individual provide for your guests? Is gonna be again regularly to check out new posts.

  15. web site说道:

    Thanks for sharing, this is a fantastic blog article.Thanks Again. Will read on

  16. W88说道:

    I value the article post.Thanks Again. Keep writing.

  17. Ridiculous story there. What happened after? Good luck!

  18. You have remarked very interesting points! ps nice site.

  19. private Hire说道:

    Thank you ever so for you blog article.Really thank you! Awesome.

  20. gia sat thep说道:

    Way cool! Some very valid points! I appreciate you penning this article and the rest of the site is also really good.

  21. we could greatly benefit from each other. If you are interested feel free

  22. More people need to read this and understand this aspect of the story. I cant believe you are not more popular.

  23. status说道:

    yay google is my queen aided me to find this outstanding web site !.

  24. The Lost Ways说道:

    Thanks-a-mundo for the article post.Much thanks again. Really Great.

  25. imagine simply how much time I had spent for this info! Thanks!

  26. PhD Green Card说道:

    It as not that I want to duplicate your web site, but I really like the style. Could you let me know which design are you using? Or was it especially designed?

  27. share now说道:

    Very good blog post.Really looking forward to read more.

  28. ma giam gia tiki说道:

    We stumbled over here different web address and thought I might as well check things out. I like what I see so i am just following you. Look forward to looking over your web page repeatedly.|

  29. Thanks a lot for the blog post.Much thanks again. Fantastic.

  30. Nwokolo说道:

    Nice blog here! Also your site lots up fast! What web host are you the use of? Can I am getting your associate link in your host? I want my site loaded up as quickly as yours lol

  31. Im grateful for the blog post.Much thanks again.

  32. ebay promo code说道:

    you may have an important blog here! would you prefer to make some invite posts on my blog?

  33. Muchos Gracias for your blog.Much thanks again. Much obliged.

  34. Really informative blog.Much thanks again. Much obliged.

  35. recycling说道:

    I really liked your blog post.Really looking forward to read more. Will read on

  36. Beyonce说道:

    Say, you got a nice blog article.Much thanks again. Fantastic.

  37. Maxi cab Booking说道:

    You are my inspiration, I own few web logs and occasionally run out from brand . Truth springs from argument amongst friends. by David Hume.

  38. visit website说道:

    Perfectly written written content , regards for selective information.

  39. Wonderful work! That is the kind of info that should be shared around the web. Shame on Google for no longer positioning this put up upper! Come on over and consult with my site. Thanks =)

  40. Very neat blog article.Really looking forward to read more. Fantastic.

  41. There is definately a lot to find out about this issue. I like all the points you have made.

  42. Pretty! This was an incredibly wonderful article. Thank you for providing this information.

  43. Thank you ever so for you blog article. Much obliged.

  44. This text is priceless. When can I find out more?

  45. online loans说道:

    may you be rich and continue to guide other people.

  46. Giay nam说道:

    Im thankful for the article post. Awesome.

  47. congtyonline.com说道:

    I think other web-site proprietors should take this website as an model, very clean and wonderful user genial style and design, as well as the content. You are an expert in this topic!

  48. thuc pham huu co说道:

    You made some decent points there. I looked on the internet for the subject matter and found most guys will agree with your blog.

  49. sim so dep说道:

    There as certainly a great deal to find out about this topic. I really like all of the points you made.

  50. click here说道:

    I really liked your article post.Much thanks again. Want more. anal creampie

  51. Incredible points. Solid arguments. Keep up the amazing work.

  52. stella说道:

    I want to start a fashion blog but have no idea where to start?

  53. Rental Dress说道:

    Very good information. Lucky me I recently found your blog by chance (stumbleupon). I ave saved as a favorite for later!

  54. Read, of course, far from my topic. But still, we can work together. How do you feel about trust management?!

  55. Wow, incredible blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your web site is wonderful, as well as the content!

  56. you make blogging glance What host are you using? Can I am getting your associate link on your host? I want site loaded up as fast as yours lol

  57. Polainas tejidas说道:

    Thank you for sharing your thoughts. I really appreciate your efforts and I am waiting for your further write ups thank you once again.

  58. Crochet bolero说道:

    Whats up are using WordPress for your blog platform?

  59. Arctic Circle说道:

    Really informative blog article.Thanks Again. Fantastic.

  60. try this说道:

    Usually I don at learn post on blogs, but I wish to say that this write-up very pressured me to take a look at and do it! Your writing style has been amazed me. Thanks, very nice post.

  61. blue nike说道:

    Thanks so much for the blog article. Awesome.

  62. Really informative blog post.Really thank you! Keep writing.

  63. You have noted very interesting details ! ps nice web site. We make ourselves a ladder out of our vices if we trample the vices themselves underfoot. by Saint Augustine.

  64. School admission说道:

    I was studying some of your articles on this internet site and I think this web site is very instructive! Keep on posting.

  65. School news说道:

    Major thankies for the blog post.Really looking forward to read more.

  66. ark ps4 server说道:

    Very good post. I am dealing with many of these issues as well..

  67. You are so cool! I don at suppose I ave read through a single thing like this

  68. the time to read or visit the subject material or web-sites we ave linked to below the

  69. stop bullying说道:

    Major thankies for the blog.Really thank you! Want more.

  70. I truly appreciate this post.Really looking forward to read more. Want more.

  71. to learn more说道:

    I simply could not depart your website before suggesting that I extremely enjoyed the usual information an individual provide to your visitors? Is gonna be again continuously to check out new posts.

  72. pretty helpful stuff, overall I imagine this is really worth a bookmark, thanks

  73. Some really quality posts on this website , bookmarked.

  74. Rattling great information can be found on blog.

  75. scary maze说道:

    Thanks a lot for the blog post.Much thanks again. Really Cool.

  76. Merely a smiling visitant here to share the love (:, btw outstanding layout. Competition is a painful thing, but it produces great results. by Jerry Flint.

  77. It as not that I want to replicate your web-site, but I really like the design. Could you tell me which theme are you using? Or was it custom made?

  78. You, my friend, ROCK! I found just the info I already searched all over the place and simply couldn at locate it. What a perfect web site.

  79. The players a maneuvers came on the opening day. She also happens to be an unassailable lead.

  80. Thank you ever so for you article.Much thanks again. Awesome.

  81. tips说道:

    Very good post. I absolutely appreciate this site. Keep it up!

  82. out there that I am completely confused.. Any recommendations?

  83. This website was how do I say it? Relevant!! Finally I ave found something that helped me. Appreciate it!

  84. textiles agent说道:

    Thanks for sharing, this is a fantastic blog article.Really thank you! Much obliged.

  85. Thank you for your article post.Really thank you! Will read on…

  86. lawyer说道:

    Wow, wonderful blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your web site is wonderful, let alone the content!

  87. niw说道:

    There is certainly a lot to learn about this topic. I like all the points you ave made.

  88. buy tiktok likes说道:

    It as really a nice and helpful piece of info. I am glad that you shared this useful information with us. Please keep us informed like this. Thanks for sharing.

  89. It as hard to find well-informed people on this subject, but you sound like you know what you are talking about! Thanks

  90. more info说道:

    Muchos Gracias for your blog article.Thanks Again. Fantastic.

  91. Very nice post and right to the point. I am not sure if this is truly the best place to ask but do you folks have any thoughts on where to get some professional writers? Thx

  92. Inspiring story there. What occurred after? Thanks!

  93. There is noticeably a lot to identify about this. I feel you made certain good points in features also.

  94. Very good webpage you ave got going here.|

  95. It as not that I want to duplicate your web-site, but I really like the style and design. Could you let me know which style are you using? Or was it custom made?

  96. share说道:

    Your style is so unique in comparison to other people I ave read stuff from. Thanks for posting when you ave got the opportunity, Guess I will just book mark this blog.

  97. ndu说道:

    Thanks for sharing, this is a fantastic blog article. Really Cool.

  98. Keep up the great work , I read few articles on this site and I believe that your web site is really interesting and contains lots of superb information.

  99. Whats Happening i am new to this, I stumbled upon this I have found It absolutely helpful and it has aided me out loads. I hope to give a contribution & help other users like its aided me. Good job.

  100. more info说道:

    Really enjoyed this article.Really looking forward to read more. Fantastic.

  101. Way cool! Some extremely valid points! I appreciate you writing this write-up and the rest of the site is also really good.

  102. your communal pages like your linkedin profile, Facebook

  103. caratulas CD说道:

    you employ a fantastic weblog here! want to earn some invite posts on my website?

  104. web说道:

    your web hosting is OK? Not that I am complaining, but slow loading instances

  105. Very goodd article. I aam dealing with a feew of thesse issuss as well..

  106. check here说道:

    Wow! Thank you! I continuously needed to write on my site something like that. Can I take a portion of your post to my website?

  107. more info说道:

    whoah this blog is fantastic i love reading your posts. Keep up the great work! You know, many people are hunting around for this information, you can aid them greatly.

  108. This is a great tip especially to those fresh to the blogosphere. Brief but very precise information Appreciate your sharing this one. A must read article!

  109. Really wonderful info can be found on web site.

  110. my portfolio说道:

    Tetraed LIMS logiciel de gestion de laboratoire Sern amet port gaslelus

  111. click here说道:

    Thanks for sharing, this is a fantastic blog post.Thanks Again. Want more.

  112. There is definately a lot to learn about this issue. I like all the points you ave made.

  113. This page truly has all the information and facts I wanted about this subject and didn at know who to ask.

  114. publish was once good. I do not understand who you might be however

  115. flycam说道:

    you are not sure if they really are the Search Engine Optimization Expert they say they are.

  116. Incredible! This blog looks just like my old one! It as on a completely different topic but it has pretty much the same page layout and design. Excellent choice of colors!

  117. Valuable information and excellent design you got here! I would like to thank you for sharing your thoughts and time into the stuff you post!! Thumbs up!

  118. Looking forward to reading more. Great blog.Thanks Again. Cool.

  119. Very good article.Really looking forward to read more. Really Great.

  120. Wow! This could be one particular of the most useful blogs We have ever arrive across on this subject. Actually Wonderful. I am also an expert in this topic therefore I can understand your effort.

  121. Game Online说道:

    I truly appreciate this post. I have been looking all over for this! Thank goodness I found it on Bing. You have made my day! Thanks again

  122. Many thanks for sharing this great article. Very inspiring! (as always, btw)

  123. You have brought up a very wonderful details , appreciate it for the post.

  124. You are my breathing in, I own few blogs and sometimes run out from to post .

  125. m88asia说道:

    Nice blog about WALSH | ENDORA. I appreciate you taking the time to write about this insightful topic. Have a great day and when you have a few seconds, visit my blog about vin number decoder!

  126. Bagdad Barcelona说道:

    Thanks, I ave recently been searching for facts about this subject for ages and yours is the best I ave found so far.

  127. mua backlink说道:

    Of course, what a magnificent blog and revealing posts, I definitely will bookmark your website.All the Best!

  128. pretty beneficial material, overall I feel this is worthy of a bookmark, thanks

  129. The right way to Clean A person as Lcd Television

  130. lot of work? I am brand new to blogging but I do write in my diary

  131. You don at have to remind Air Max fans, the good people of New Orleans.

  132. vigrx review说道:

    Major thankies for the blog post.Thanks Again. Keep writing.

  133. I wanted to thank you for this fantastic write-up, I certainly loved every little bit of it. I have bookmarked your internet site to look at the latest stuff you post.

  134. Looking forward to reading more. Great post.Thanks Again. Awesome.

  135. ugg jimmy choo I am impressed by the quality of information on this website. There are a lot of good resources

  136. gia cong my pham说道:

    This is a good tip especially to those fresh to the blogosphere. Brief but very precise info Thank you for sharing this one. A must read post!

  137. may bo dam说道:

    Major thankies for the blog post.Much thanks again. Will read on

  138. Mobile Computer说道:

    That is a great tip especially to those fresh to the blogosphere. Brief but very accurate info Many thanks for sharing this one. A must read article!

  139. This blog is really entertaining and besides amusing. I have discovered a lot of handy advices out of it. I ad love to return again and again. Cheers!

  140. You have remarked very interesting details ! ps nice web site. Loneliness seems to have become the great American disease. by John Corry.

  141. yeu sinh ly说道:

    May I simply just say what a relief to find someone that truly understands what they

  142. you have got an amazing blog here! would you wish to make some invite posts on my blog?

  143. Wow, wonderful blog structure! How long have you been running a blog for? you make running a blog look easy. The entire glance of your website is magnificent, let alone the content!

  144. Nice post. I was checking constantly this blog and I

  145. chocopie说道:

    RR1Qka Merely wanna comment that you have a very decent web site , I like the design and style it really stands out.

  146. This can be a set of phrases, not an essay. that you are incompetent

  147. Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is wonderful, as well as the content!. Thanks For Your article about sex.

  148. Wow, incredible blog layout! How lengthy have you ever been blogging for? you make blogging look easy. The total glance of your web site is fantastic, let alone the content!

  149. I think this is a real great blog post.Much thanks again.

  150. Your style is unique in comparison to other folks I have read stuff from. I appreciate you for posting when you have the opportunity, Guess I will just bookmark this blog.

  151. Wow, great article post.Thanks Again. Keep writing.

  152. Very nice article and straight to the point. I am not sure if this is really the best place to ask but do you folks have any thoughts on where to employ some professional writers? Thanks in advance

  153. you have brought up a very great details , regards for the post.

  154. Some truly great posts on this internet site , regards for contribution.

  155. check out说道:

    Way cool! Some extremely valid points! I appreciate you writing this article and the rest of the site is also really good.

  156. freight courier说道:

    You ought to take part in a contest for one of the best blogs on the web. I will recommend this site!

  157. bistro masa说道:

    Wow, great article.Really looking forward to read more. Want more.

  158. Thank you ever so for you article post.Much thanks again.

  159. This can be exactly what I was looking for, thanks

  160. themselves, particularly thinking about the fact that you simply could possibly have performed it if you ever decided. The pointers at the same time served to supply an incredible method to

  161. Pretty! This has been a really wonderful post. Thank you for providing these details.

  162. In my opinion you commit an error. I suggest it to discuss. Write to me in PM, we will talk.

  163. link vao 188bet说道:

    sex is pretty hot topic at the moment. I was just talking to my brother about the exact same issue the other day.

  164. of money in getting high quality Search engine optimization software if you

  165. Design说道:

    I truly appreciate this post. I have been looking everywhere for this! Thank goodness I found it on Bing. You have made my day! Thank you again!

  166. for details说道:

    Way cool! Some very valid points! I appreciate you writing this article and also the rest of the site is also really good.

  167. You might be my role models. Many thanks for the post

  168. Thank you ever so for you blog.Much thanks again. Really Cool.

  169. Gclub Download说道:

    Well I sincerely liked reading it. This tip procured by you is very useful for correct planning.

  170. Usually I do not learn article on blogs, however I wish to say that this write-up very pressured me to try and do so! Your writing style has been surprised me. Thank you, very great article.

  171. Its nice information this really helps interesting site

  172. Wow, great article post.Thanks Again. Awesome.

  173. Miami Escorts说道:

    Woman of Alien Great perform you have got done, this great site is admittedly great with great facts. Time is God as strategy for trying to keep anything from taking place directly.

  174. Thanks-a-mundo for the post.Really thank you! Awesome.

  175. Thanks a lot for sharing this with all of us you really know what you are talking about! Bookmarked. Kindly also visit my web site =). We could have a link exchange arrangement between us!

  176. This blog was how do I say it? Relevant!! Finally I have found something that helped me. Cheers!

  177. escorts sydney说道:

    Very interesting details you have remarked, thankyou for posting. I never said most of the things I said. by Lawrence Peter Berra.

  178. escorts houston说道:

    Oh my goodness! an amazing article. Thank you!

  179. pasadena realtor说道:

    This is one awesome blog post.Really looking forward to read more. Great.

  180. Thanks for sharing, this is a fantastic blog.Much thanks again. Want more.

  181. pechi dlya bani说道:

    Thank you ever so for you post.Really thank you! Awesome.

  182. Thank you, I ave just been searching for info about this topic for ages and yours is the greatest I ave discovered so far. But, what about the conclusion? Are you sure about the source?

  183. You have made some good points there. I looked on the internet to learn more about the issue and found most individuals will go along with your views on this site.

  184. week, and I am on the look for such information. Here is my webpage website

  185. Your mode of explaining the whole thing in this post is in fact good, every one be able to simply be aware of it, Thanks a lot.

  186. mulberry purse Do you have any video of that? I ad like to find out more details.

  187. You can certainly see your enthusiasm in the work you write. The arena hopes for even more passionate writers such as you who are not afraid to say how they believe. At all times follow your heart.

  188. Perfectly pent content material , appreciate it for entropy.

  189. viagra 50 mg说道:

    Thank you ever so for you blog.Really thank you! Cool.

  190. Your blogs continually include much of really up to date info. Where do you come up with this? Just stating you are very innovative. Thanks again

  191. 토토 사이트说道:

    Your style is really unique in comparison to other people I ave read stuff from. Thank you for posting when you have the opportunity, Guess I all just bookmark this page.

  192. You made some respectable factors there. I seemed on the web for the problem and found most individuals will go together with with your website.

  193. port renfrew说道:

    I think this iis amoing thee most importnt info for me.

  194. 다자바说道:

    Pretty! This has been a really wonderful article.

  195. Ridiculous quest there. What happened after? Good luck!|

  196. mkb breda说道:

    No matter if some one searches for his essential thing, thus he/she desires to be available that in detail,
    therefore that thing is maintained over here.

  197. I truly appreciate this blog post.Much thanks again. Much obliged.

  198. I truly appreciate this post. I have been looking all over for this! Thank God I found it on Google. You ave made my day! Thx again..

  199. 다자바说道:

    Very good article. I will be facing many of these issues as well..

  200. 바다이야기说道:

    that I feel I would by no means understand. It kind

  201. 먹튀 검증说道:

    Online Article Every once in a while we choose blogs that we read. Listed underneath are the latest sites that we choose

  202. It as really a nice and useful piece of information. I am glad that you shared this useful information with us. Please keep us up to date like this. Thanks for sharing.

  203. Wow! This could be one particular of the most beneficial blogs We have ever arrive across on this subject. Actually Wonderful. I am also a specialist in this topic so I can understand your effort.

  204. Some great points here, will be looking forward to your future updates.

  205. Moses Lehrman说道:

    I read your blog frequently and I just thought I’d say keep up the amazing work!

  206. Autumn Yamanaka说道:

    Bon oui et aussi non. Ouais étant donné que on trouve certaines sources qui probablement accusent de similaires . Non parce que cela n’est pas suffisant d’imiter ce qu’on peut retrouver avec des articles tiers et de l’interpréter autant simplement:

  207. You got a very superb website, Sword lily I detected it through yahoo.

  208. Tommye Sandholm说道:

    I really like your blog site.. excellent shades & style. Do a person pattern this excellent website oneself or even have people hire an attorney to make it happen available for you? Plz answer while I!|m seeking to style and design my very own blog as well as would wish to learn where u obtained this specific out of. thanks a lot

  209. Catarina Bonnema说道:

    There are some fascinating closing dates on this article but I don’t know if I see all of them middle to heart. There’s some validity however I’ll take maintain opinion until I look into it further. Good article , thanks and we want extra! Added to FeedBurner as effectively

  210. Well I sincerely liked reading it. This subject offered by you is very effective for correct planning.

  211. Clifford Addair说道:

    Cheapest speeches and toasts, as well as toasts. probably are created building your own at the party and will be most likely to turn into witty, humorous so new even. best man toast

  212. 토토 사이트说道:

    wow, awesome blog.Really looking forward to read more. Fantastic.

  213. Derick Ness说道:

    Hello! I recently would choose to provide a large thumbs up to the fantastic information you’ve here with this post. I am returning to your website for further soon.

  214. Incredible points. Sound arguments. Keep up the good spirit.

  215. Irvin Holaday说道:

    Excellent blog post, I have bookmarked your site so ideally I’ll see much more on this subject in the foreseeable future!

  216. Emelda Lauritzen说道:

    It is very interesting topic you’ve written here..The truth I’m not related to this, but I think is a good opportunity to learn more about, And as well talk about a different topic to which I used to talk with others

  217. Pandora Ehret说道:

    my grandmother is always into herbal stuffs and she always say that ayurvedic medicines are the best stuff’

  218. Really appreciate you sharing this article.Much thanks again. Fantastic.

  219. Carmelo Hsiao说道:

    I like reading through and I conceive this website got some really utilitarian stuff on it! .

  220. 바다이야기说道:

    Major thanks for the blog post.Really looking forward to read more. Really Cool.

  221. 다잡아说道:

    What as up colleagues, how is all, and what you desire to say about this piece of writing, in my view its really remarkable designed for me.

  222. Thanks for another great post. Where else may just anybody get that kind of information in such an ideal way of writing? I have a presentation subsequent week, and I am on the search for such info.

  223. Your style is really unique in comparison to other people I ave read stuff from. Thanks for posting when you have the opportunity, Guess I will just bookmark this site.

  224. Jerrod Ruhland说道:

    Can I just say thats a relief to locate someone that truly knows what theyre referring to online. You certainly understand how to bring a concern to light and produce it essential. Workout . should look at this and understand this side from the story. I cant believe youre not more well-liked when you certainly contain the gift.

  225. Bot GEM TVT说道:

    Thanks for sharing, this is a fantastic article.Really thank you! Cool.

  226. Sheron Ruschel说道:

    Hello! I know this is kind of off topic but I was wondering if you knew where I could get a captcha plugin for my comment form? I’m using the same blog platform as yours and I’m having trouble finding one? Thanks a lot!

  227. Very good article. I am experiencing some of these issues as well..

  228. Muchos Gracias for your blog.Really thank you! Great.

  229. A healthy dose of taboo porn: Not daughter porn videos. The nude young girls in question are NOT. Depraved not daughter girls are easy to talk into giving a nasty blowjob. Hot not-daughter porn videos are featuring young amazing chicks.

  230. 먹튀검증说道:

    I truly appreciate this blog. Much obliged.

  231. Sol Ampy说道:

    You made some decent points there. I looked online for any issue and found most people will go in conjunction with with all your site.

  232. Say, you got a nice article post.Thanks Again. Really Great.

  233. fix your home说道:

    It as exhausting to find knowledgeable individuals on this topic, however you sound like you already know what you are speaking about! Thanks

  234. My brother recommended I might like this web site. He was totally right. This post actually made my day. You cann at imagine just how much time I had spent for this info! Thanks!

  235. I think this is a real great post.Much thanks again. Really Great.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>