날짜 디렉터리의 C 코드는 대부분 Learn C the Hard Way 예제이며, 출처가 어디에도 적혀 있지 않다
#ex1.c부터 ex22_main.c까지가 책의 예제 번호를 그대로 쓴다. 내용도 그대로다 — ex7.c는 저자 이름 자리에 "Zed" "Shaw"를 넣어 출력하고, ex12.c는 "Zed A. Shaw"를 문자열로 들고 있으며, ex22_main.c:3은 const char *MY_NAME = "Zed A. Shaw";다. ex17.c:117에는 책이 독자에게 남긴 지시문까지 그대로 따라와 있다.
list.c, list_algo.c, darray.c, hashmap.c, dbg.h, minunit.h도 전부 같은 출처다. 헤더 가드가 lcthw_List_h, _lcthw_Hashmap_h, lcthw_List_algos_h로 되어 있다 — 책의 liblcthw 소스 트리에서 그대로 가져온 흔적이다. 함수 사이 공백이 printf( "..." ) ;, who-> name처럼 뭉개져 있는 것은 책 PDF에서 붙여넣었을 때 생기는 전형적인 패턴이다.
결정적 증거는 hashmap_algos.c다. 같은 디렉터리에 hashmap_algos.h가 있는데도 include 경로가 책 저장소 기준 그대로 남아 있어, 커밋된 상태로는 컴파일 자체가 불가능하다.
#include <lcthw/hashmap_algos.h> #include <lcthw/bstrlib.h> hashmap_algos.c:1:10: fatal error: 'lcthw/hashmap_algos.h' file not found 1 | #include <lcthw/hashmap_algos.h> | ^~~~~~~~~~~~~~~~~~~~~~~
addr-> set = 1;
// WARNING: bug, read the "How To Break It" and fix this
char *res = strncpy( addr-> name, name, MAX_DATA) ;