I believe there is some incorrect passing of parameters for the theoretical maximum of closeness centrality.
The function 'centrality.c:igraph_centralization_closeness_tmax' accepts a 'mode' parameter (which often in other functions corresponds to 'out','in','all','total'). However, in 'rinterface.c:R_igraph_centralization_closeness_tmax', it is the 'c_directed' variable that is passed as 'mode' into 'igraph_centralization_closeness_tmax'. Since 'c_directed' is a logical typed variable and will (presumably) have values of only 0 and 1 and 'mode' is typically assigned
1, 2, 3, or 4, the behavior of 'centrality.c:igraph_centralization_closeness_tmax' will not be as expected. Specifically, if one tries to use the 'nodes' parameter for the R function 'centralization.closeness.tmax' to obtain the theoretical maximum without specifying a graph, the result will be always be that of a directed graph even if one specifies directed=F for the R function as the C function 'centrality.c:igraph_centralization_closeness_tmax' tests only if the mode/c_directed value is 3 in order to produce the correct result for an undirected graph.
Jay