Rever the strmem() addition and add a TODO element

strmem() was not very well thought out. The thing is the following:
If the string contains a zero character, we want to match it, and not
stop right there in place.

The "real" solution is to use memmem() where needed and replace all
functions that assume zero-terminated-strings from standard input, which
could lead to early string-breakoffs.
This requires a strict tracking of string lengths.
5 files changed
tree: 7e3ec8d91afbe6007dd227620992cb0dae12a1e6
  1. libutf/
  2. libutil/
  3. arg.h
  4. basename.1
  5. basename.c
  6. cal.1
  7. cal.c
  8. cat.1
  9. cat.c
  10. chgrp.1
  11. chgrp.c
  12. chmod.1
  13. chmod.c
  14. chown.1
  15. chown.c
  16. chroot.1
  17. chroot.c
  18. cksum.1
  19. cksum.c
  20. cmp.1
  21. cmp.c
  22. cols.1
  23. cols.c
  24. comm.1
  25. comm.c
  26. compat.h
  27. config.mk
  28. cp.1
  29. cp.c
  30. cron.1
  31. cron.c
  32. crypt.h
  33. cut.1
  34. cut.c
  35. date.1
  36. date.c
  37. dirname.1
  38. dirname.c
  39. du.1
  40. du.c
  41. echo.1
  42. echo.c
  43. ed.1
  44. ed.c
  45. env.1
  46. env.c
  47. expand.1
  48. expand.c
  49. expr.1
  50. expr.c
  51. false.1
  52. false.c
  53. find.1
  54. find.c
  55. flock.1
  56. flock.c
  57. fold.1
  58. fold.c
  59. fs.h
  60. getconf.1
  61. getconf.c
  62. getconf.sh
  63. grep.1
  64. grep.c
  65. head.1
  66. head.c
  67. hostname.1
  68. hostname.c
  69. join.1
  70. join.c
  71. kill.1
  72. kill.c
  73. LICENSE
  74. link.1
  75. link.c
  76. ln.1
  77. ln.c
  78. logger.1
  79. logger.c
  80. logname.1
  81. logname.c
  82. ls.1
  83. ls.c
  84. Makefile
  85. md5.h
  86. md5sum.1
  87. md5sum.c
  88. mkdir.1
  89. mkdir.c
  90. mkfifo.1
  91. mkfifo.c
  92. mktemp.1
  93. mktemp.c
  94. mv.1
  95. mv.c
  96. nice.1
  97. nice.c
  98. nl.1
  99. nl.c
  100. nohup.1
  101. nohup.c
  102. od.1
  103. od.c
  104. paste.1
  105. paste.c
  106. pathchk.1
  107. pathchk.c
  108. printenv.1
  109. printenv.c
  110. printf.1
  111. printf.c
  112. pwd.1
  113. pwd.c
  114. queue.h
  115. readlink.1
  116. readlink.c
  117. README
  118. renice.1
  119. renice.c
  120. rm.1
  121. rm.c
  122. rmdir.1
  123. rmdir.c
  124. sed.1
  125. sed.c
  126. seq.1
  127. seq.c
  128. setsid.1
  129. setsid.c
  130. sha1.h
  131. sha1sum.1
  132. sha1sum.c
  133. sha224.h
  134. sha224sum.1
  135. sha224sum.c
  136. sha256.h
  137. sha256sum.1
  138. sha256sum.c
  139. sha384.h
  140. sha384sum.1
  141. sha384sum.c
  142. sha512-224.h
  143. sha512-224sum.1
  144. sha512-224sum.c
  145. sha512-256.h
  146. sha512-256sum.1
  147. sha512-256sum.c
  148. sha512.h
  149. sha512sum.1
  150. sha512sum.c
  151. sleep.1
  152. sleep.c
  153. sort.1
  154. sort.c
  155. split.1
  156. split.c
  157. sponge.1
  158. sponge.c
  159. strings.1
  160. strings.c
  161. sync.1
  162. sync.c
  163. tail.1
  164. tail.c
  165. tar.1
  166. tar.c
  167. tee.1
  168. tee.c
  169. test.1
  170. test.c
  171. text.h
  172. tftp.1
  173. tftp.c
  174. time.1
  175. time.c
  176. TODO
  177. touch.1
  178. touch.c
  179. tr.1
  180. tr.c
  181. true.1
  182. true.c
  183. tsort.1
  184. tsort.c
  185. tty.1
  186. tty.c
  187. uname.1
  188. uname.c
  189. unexpand.1
  190. unexpand.c
  191. uniq.1
  192. uniq.c
  193. unlink.1
  194. unlink.c
  195. utf.h
  196. util.h
  197. uudecode.1
  198. uudecode.c
  199. uuencode.1
  200. uuencode.c
  201. wc.1
  202. wc.c
  203. which.1
  204. which.c
  205. whoami.1
  206. whoami.c
  207. xargs.1
  208. xargs.c
  209. xinstall.1
  210. xinstall.c
  211. yes.1
  212. yes.c